diff --git a/apps/kyb-app/package.json b/apps/kyb-app/package.json index d9d1579a47..c213853de3 100644 --- a/apps/kyb-app/package.json +++ b/apps/kyb-app/package.json @@ -3,21 +3,31 @@ "private": true, "version": "0.3.22", "type": "module", + "main": "./dist/collection-flow-portable/index.js", "scripts": { "dev": "vite", "build": "tsc && vite build", + "build-portable": "vite build --config vite.lib.config.ts", "lint": "eslint . --fix", "format": "prettier --write .", "format:check": "prettier --check .", "preview": "vite preview", "test": "vitest run", - "test:dev": "vitest" + "test:dev": "vitest", + "postinstall": "vite build --config vite.lib.config.ts" }, "dependencies": { +<<<<<<< Updated upstream "@ballerine/common": "^0.9.14", "@ballerine/blocks": "0.2.8", "@ballerine/ui": "0.5.8", "@ballerine/workflow-browser-sdk": "0.6.22", +======= + "@ballerine/blocks": "0.2.6", + "@ballerine/common": "^0.9.12", + "@ballerine/ui": "0.5.6", + "@ballerine/workflow-browser-sdk": "0.6.20", +>>>>>>> Stashed changes "@lukemorales/query-key-factory": "^1.0.3", "@radix-ui/react-icons": "^1.3.0", "@rjsf/core": "^5.9.0", @@ -59,7 +69,11 @@ }, "devDependencies": { "@ballerine/config": "^1.1.7", +<<<<<<< Updated upstream "@ballerine/eslint-config-react": "^2.0.7", +======= + "@ballerine/eslint-config-react": "^2.0.5", +>>>>>>> Stashed changes "@jest/globals": "^29.7.0", "@sentry/vite-plugin": "^2.9.0", "@testing-library/jest-dom": "^6.1.4", @@ -90,6 +104,7 @@ "typescript": "^5.0.2", "vite": "^4.5.3", "vite-plugin-checker": "^0.6.1", + "vite-plugin-dts": "^1.7.3", "vite-tsconfig-paths": "^4.0.7", "vitest": "^0.34.6" } diff --git a/apps/kyb-app/src/common/components/atoms/Chip/Chip.tsx b/apps/kyb-app/src/common/components/atoms/Chip/Chip.tsx index 671c69b1da..f74191c90f 100644 --- a/apps/kyb-app/src/common/components/atoms/Chip/Chip.tsx +++ b/apps/kyb-app/src/common/components/atoms/Chip/Chip.tsx @@ -1,7 +1,7 @@ import { ctw } from '@ballerine/ui'; import { cva, VariantProps } from 'class-variance-authority'; -type BaseChipVariantProps = VariantProps; +export type BaseChipVariantProps = VariantProps; const baseChipVariants = cva('flex transition-all gap-2 px-4 py-2 rounded-2xl items-center', { variants: { diff --git a/apps/kyb-app/src/components/providers/CustomerProvider/CustomerProvider.tsx b/apps/kyb-app/src/components/providers/CustomerProvider/CustomerProvider.tsx index fe37c54416..e349dcea97 100644 --- a/apps/kyb-app/src/components/providers/CustomerProvider/CustomerProvider.tsx +++ b/apps/kyb-app/src/components/providers/CustomerProvider/CustomerProvider.tsx @@ -1,9 +1,9 @@ import React, { useMemo } from 'react'; -import { AnyChildren } from '@ballerine/ui'; -import { useCustomerQuery } from '@/hooks/useCustomerQuery'; -import { CustomerContext } from '@/components/providers/CustomerProvider/types'; import { customerContext } from '@/components/providers/CustomerProvider/customer.context'; +import { CustomerContext } from '@/components/providers/CustomerProvider/types'; +import { useCustomerQuery } from '@/hooks/useCustomerQuery'; +import { AnyChildren } from '@ballerine/ui'; const { Provider } = customerContext; diff --git a/apps/kyb-app/src/components/providers/CustomerProvider/CustomerProviderPortable.tsx b/apps/kyb-app/src/components/providers/CustomerProvider/CustomerProviderPortable.tsx new file mode 100644 index 0000000000..f62e87ed37 --- /dev/null +++ b/apps/kyb-app/src/components/providers/CustomerProvider/CustomerProviderPortable.tsx @@ -0,0 +1,25 @@ +import { useMemo } from 'react'; + +import { customerContext } from '@/components/providers/CustomerProvider/customer.context'; +import { CustomerContext } from '@/components/providers/CustomerProvider/types'; +import { TCustomer } from '@/domains/collection-flow'; +import { AnyChildren } from '@ballerine/ui'; + +const { Provider } = customerContext; + +interface Props { + children: AnyChildren; + defaultCustomer: TCustomer; +} + +export const CustomerProviderPortable = ({ children, defaultCustomer }: Props) => { + const context = useMemo(() => { + const ctx: CustomerContext = { + customer: defaultCustomer, + }; + + return ctx; + }, [defaultCustomer]); + + return {children}; +}; diff --git a/apps/kyb-app/src/hooks/useCustomerQuery/useCustomerQuery.ts b/apps/kyb-app/src/hooks/useCustomerQuery/useCustomerQuery.ts index e70191a436..2b173ae7fa 100644 --- a/apps/kyb-app/src/hooks/useCustomerQuery/useCustomerQuery.ts +++ b/apps/kyb-app/src/hooks/useCustomerQuery/useCustomerQuery.ts @@ -2,10 +2,10 @@ import { collectionFlowQuerykeys } from '@/domains/collection-flow'; import { useQuery } from '@tanstack/react-query'; import { HTTPError } from 'ky'; -export const useCustomerQuery = () => { +export const useCustomerQuery = (enabled = true) => { const { data, isLoading, error } = useQuery( // @ts-ignore - collectionFlowQuerykeys.getCustomer(), + { ...collectionFlowQuerykeys.getCustomer(), enabled }, ); return { diff --git a/apps/kyb-app/src/lib.ts b/apps/kyb-app/src/lib.ts new file mode 100644 index 0000000000..986ebb0ec2 --- /dev/null +++ b/apps/kyb-app/src/lib.ts @@ -0,0 +1,12 @@ +import './i18next'; +import './index.css'; +export * from './lib/collection-flow-portable'; + +(window as any).toggleDevmode = () => { + const key = 'devmode'; + const isDebug = localStorage.getItem(key); + + isDebug ? localStorage.removeItem(key) : localStorage.setItem(key, 'true'); + + location.reload(); +}; diff --git a/apps/kyb-app/src/lib/collection-flow-portable/CollectionFlowPortable.tsx b/apps/kyb-app/src/lib/collection-flow-portable/CollectionFlowPortable.tsx new file mode 100644 index 0000000000..a485d7e270 --- /dev/null +++ b/apps/kyb-app/src/lib/collection-flow-portable/CollectionFlowPortable.tsx @@ -0,0 +1,206 @@ +import { StepperProgress } from '@/common/components/atoms/StepperProgress'; +import { ProgressBar } from '@/common/components/molecules/ProgressBar'; +import { AppShell } from '@/components/layouts/AppShell'; +import { DynamicUI, State } from '@/components/organisms/DynamicUI'; +import { usePageErrors } from '@/components/organisms/DynamicUI/Page/hooks/usePageErrors'; +import { UIRenderer } from '@/components/organisms/UIRenderer'; +import { StepperUI } from '@/components/organisms/UIRenderer/elements/StepperUI'; +import { CustomerProviderPortable } from '@/components/providers/CustomerProvider/CustomerProviderPortable'; +import { TCustomer, UISchema } from '@/domains/collection-flow'; +import { prepareInitialUIState } from '@/helpers/prepareInitialUIState'; +import { collectionFlowElements } from '@/pages/CollectionFlow'; +import { Approved } from '@/pages/CollectionFlow/components/pages/Approved'; +import { Rejected } from '@/pages/CollectionFlow/components/pages/Rejected'; +import { Success } from '@/pages/CollectionFlow/components/pages/Success'; +import { AnyObject } from '@ballerine/ui'; +import set from 'lodash/set'; +import { FunctionComponent, useEffect, useMemo, useState } from 'react'; +import { useTranslation } from 'react-i18next'; + +export interface ICollectionFlowPortableProps { + language: string; + schema: UISchema; + context: AnyObject; + customer: TCustomer; +} + +export const CollectionFlowPortable: FunctionComponent = ({ + language, + schema, + context, + customer, +}) => { + const { t } = useTranslation(); + + const elements = schema?.uiSchema?.elements; + const definition = schema?.definition.definition; + + const pageErrors = usePageErrors(context ?? {}, elements || []); + const isRevision = useMemo( + () => pageErrors.some(error => error.errors?.some(error => error.type === 'warning')), + [pageErrors], + ); + + const filteredNonEmptyErrors = pageErrors?.filter(pageError => !!pageError.errors.length); + + // @ts-ignore + const initialContext: CollectionFlowContext | null = useMemo(() => { + const appState = + filteredNonEmptyErrors?.[0]?.stateName || + context?.flowConfig?.appState || + elements?.at(0)?.stateName; + if (!appState) return null; + + return { + ...context, + flowConfig: { + ...context?.flowConfig, + appState, + }, + state: appState, + }; + }, [context, elements, filteredNonEmptyErrors]); + + const initialUIState = useMemo(() => { + return prepareInitialUIState(elements || [], context || {}, isRevision); + }, [elements, context, isRevision]); + + // Breadcrumbs now using scrollIntoView method to make sure that breadcrumb is always in viewport. + // Due to dynamic dimensions of logo it doesnt work well if scroll happens before logo is loaded. + // This workaround is needed to wait for logo to be loaded so scrollIntoView will work with correct dimensions of page. + const [isLogoLoaded, setLogoLoaded] = useState(customer?.logoImageUri ? false : true); + + useEffect(() => { + if (!customer?.logoImageUri) return; + + // Resseting loaded state in case of logo change + setLogoLoaded(false); + }, [customer?.logoImageUri]); + + if (initialContext?.flowConfig?.appState === 'approved') return ; + if (initialContext?.flowConfig?.appState == 'rejected') return ; + + return definition && context ? ( + + + + {({ state, stateApi }) => + state === 'finish' ? ( + + ) : ( + + {({ currentPage }) => { + return currentPage ? ( + + { + tools.setElementCompleted(prevState, true); + + set( + stateApi.getContext(), + `flowConfig.stepsProgress.${prevState}.isCompleted`, + true, + ); + await stateApi.invokePlugin('sync_workflow_runtime'); + }} + > + + + +
+
+
+ +
+ +
+
+
+ {customer?.logoImageUri && ( + setLogoLoaded(true)} + /> + )} +
+
+ {isLogoLoaded ? : null} +
+
+ {customer?.displayName && ( +
+ { + t('contact', { + companyName: customer.displayName, + }) as string + } +
+ )} + +
+
+
+
+ + + {localStorage.getItem('devmode') ? ( +
+ DEBUG +
+ {currentPage + ? currentPage.stateName + : 'Page not found and state ' + state} +
+
+ + +
+
+ ) : null} +
+
+ page?.stateName === state) ?? + 0) + 1 + } + totalSteps={elements?.length ?? 0} + /> + +
+
+ +
+
+
+
+
+
+
+
+ ) : null; + }} +
+ ) + } +
+
+
+ ) : null; +}; diff --git a/apps/kyb-app/src/lib/collection-flow-portable/index.tsx b/apps/kyb-app/src/lib/collection-flow-portable/index.tsx new file mode 100644 index 0000000000..a426b79e98 --- /dev/null +++ b/apps/kyb-app/src/lib/collection-flow-portable/index.tsx @@ -0,0 +1,27 @@ +import { SettingsProvider } from '@/common/providers/SettingsProvider/SettingsProvider'; +import { ThemeProvider } from '@/common/providers/ThemeProvider'; +import { queryClient } from '@/common/utils/query-client'; +import { Head } from '@/Head'; +import { + CollectionFlowPortable, + ICollectionFlowPortableProps, +} from '@/lib/collection-flow-portable/CollectionFlowPortable'; +import { QueryClientProvider } from '@tanstack/react-query'; +import { FunctionComponent } from 'react'; +import { HelmetProvider } from 'react-helmet-async'; +import settingsJson from '../../../settings.json'; + +export const Main: FunctionComponent = props => { + return ( + + + + + + + + + + + ); +}; diff --git a/apps/kyb-app/src/pages/CollectionFlow/CollectionFlow.tsx b/apps/kyb-app/src/pages/CollectionFlow/CollectionFlow.tsx index 0b5ba81361..d205ecc69a 100644 --- a/apps/kyb-app/src/pages/CollectionFlow/CollectionFlow.tsx +++ b/apps/kyb-app/src/pages/CollectionFlow/CollectionFlow.tsx @@ -1,4 +1,3 @@ -import DOMPurify from 'dompurify'; import { useEffect, useMemo, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -9,12 +8,7 @@ import { DynamicUI, State } from '@/components/organisms/DynamicUI'; import { usePageErrors } from '@/components/organisms/DynamicUI/Page/hooks/usePageErrors'; import { useStateManagerContext } from '@/components/organisms/DynamicUI/StateManager/components/StateProvider'; import { UIRenderer } from '@/components/organisms/UIRenderer'; -import { Cell } from '@/components/organisms/UIRenderer/elements/Cell'; -import { Divider } from '@/components/organisms/UIRenderer/elements/Divider'; -import { JSONForm } from '@/components/organisms/UIRenderer/elements/JSONForm/JSONForm'; import { StepperUI } from '@/components/organisms/UIRenderer/elements/StepperUI'; -import { SubmitButton } from '@/components/organisms/UIRenderer/elements/SubmitButton'; -import { Title } from '@/components/organisms/UIRenderer/elements/Title'; import { useCustomer } from '@/components/providers/CustomerProvider'; import { CollectionFlowContext } from '@/domains/collection-flow/types/flow-context.types'; import { prepareInitialUIState } from '@/helpers/prepareInitialUIState'; @@ -22,32 +16,12 @@ import { useFlowContextQuery } from '@/hooks/useFlowContextQuery'; import { useLanguageParam } from '@/hooks/useLanguageParam/useLanguageParam'; import { withSessionProtected } from '@/hooks/useSessionQuery/hocs/withSessionProtected'; import { useUISchemasQuery } from '@/hooks/useUISchemasQuery'; +import { collectionFlowElements } from '@/pages/CollectionFlow/collection-flow-elements'; import { Approved } from '@/pages/CollectionFlow/components/pages/Approved'; import { Rejected } from '@/pages/CollectionFlow/components/pages/Rejected'; import { Success } from '@/pages/CollectionFlow/components/pages/Success'; -import { AnyObject } from '@ballerine/ui'; import set from 'lodash/set'; -const elems = { - h1: Title, - h3: (props: AnyObject) =>

{props?.options?.text}

, - h4: (props: AnyObject) =>

{props?.options?.text}

, - description: (props: AnyObject) => ( -

- ), - 'json-form': JSONForm, - container: Cell, - mainContainer: Cell, - 'submit-button': SubmitButton, - stepper: StepperUI, - divider: Divider, -}; - // TODO: Find a way to make this work via the workflow-browser-sdk `subscribe` method. export const useCompleteLastStep = () => { const { stateApi, state } = useStateManagerContext(); @@ -81,8 +55,11 @@ export const useCompleteLastStep = () => { export const CollectionFlow = withSessionProtected(() => { const { language } = useLanguageParam(); const { data: schema } = useUISchemasQuery(language); + console.log({ schema }); const { data: context } = useFlowContextQuery(); + console.log({ context }); const { customer } = useCustomer(); + console.log({ customer }); const { t } = useTranslation(); const elements = schema?.uiSchema?.elements; @@ -232,7 +209,10 @@ export const CollectionFlow = withSessionProtected(() => {
- +
diff --git a/apps/kyb-app/src/pages/CollectionFlow/collection-flow-elements.tsx b/apps/kyb-app/src/pages/CollectionFlow/collection-flow-elements.tsx new file mode 100644 index 0000000000..44959d1ecc --- /dev/null +++ b/apps/kyb-app/src/pages/CollectionFlow/collection-flow-elements.tsx @@ -0,0 +1,28 @@ +import { Cell } from '@/components/organisms/UIRenderer/elements/Cell'; +import { Divider } from '@/components/organisms/UIRenderer/elements/Divider'; +import { JSONForm } from '@/components/organisms/UIRenderer/elements/JSONForm/JSONForm'; +import { StepperUI } from '@/components/organisms/UIRenderer/elements/StepperUI'; +import { SubmitButton } from '@/components/organisms/UIRenderer/elements/SubmitButton'; +import { Title } from '@/components/organisms/UIRenderer/elements/Title'; +import { AnyObject } from '@ballerine/ui'; +import DOMPurify from 'dompurify'; + +export const collectionFlowElements = { + h1: Title, + h3: (props: AnyObject) =>

{props?.options?.text}

, + h4: (props: AnyObject) =>

{props?.options?.text}

, + description: (props: AnyObject) => ( +

+ ), + 'json-form': JSONForm, + container: Cell, + mainContainer: Cell, + 'submit-button': SubmitButton, + stepper: StepperUI, + divider: Divider, +}; diff --git a/apps/kyb-app/src/pages/CollectionFlow/index.ts b/apps/kyb-app/src/pages/CollectionFlow/index.ts index f7a08a5e2b..a1a63cb359 100644 --- a/apps/kyb-app/src/pages/CollectionFlow/index.ts +++ b/apps/kyb-app/src/pages/CollectionFlow/index.ts @@ -1 +1,2 @@ +export * from './collection-flow-elements'; export * from './CollectionFlow'; diff --git a/apps/kyb-app/tsconfig-lib.json b/apps/kyb-app/tsconfig-lib.json new file mode 100644 index 0000000000..578e37dd90 --- /dev/null +++ b/apps/kyb-app/tsconfig-lib.json @@ -0,0 +1,13 @@ +{ + "extends": "@ballerine/config/tsconfig.dom-bundler.json", + "compilerOptions": { + "outDir": "./dist", + "baseUrl": ".", + "jsx": "react-jsx", + "paths": { + "@/*": ["./src/*"], + "class-variance-authority": ["./node_modules/class-variance-authority"] + } + }, + "include": ["src"] +} diff --git a/apps/kyb-app/vite.config.ts b/apps/kyb-app/vite.config.ts index f7c247e858..dcc1360085 100644 --- a/apps/kyb-app/vite.config.ts +++ b/apps/kyb-app/vite.config.ts @@ -1,13 +1,13 @@ -import * as childProcess from 'child_process'; -import react from '@vitejs/plugin-react'; -import * as path from 'path'; import { sentryVitePlugin, SentryVitePluginOptions } from '@sentry/vite-plugin'; +import react from '@vitejs/plugin-react'; +import * as childProcess from 'child_process'; import * as fs from 'fs'; +import * as path from 'path'; import tailwindcss from 'tailwindcss'; import { PluginOption } from 'vite'; -import { defineConfig } from 'vitest/config'; import checker from 'vite-plugin-checker'; import tsconfigPaths from 'vite-tsconfig-paths'; +import { defineConfig } from 'vitest/config'; interface PackageJson { name: string; @@ -64,6 +64,13 @@ export default defineConfig({ }, build: { sourcemap: true, + lib: { + entry: { + index: './src/lib/collection-flow-portable/index.ts', + }, + formats: ['es'], + name: 'collection-flow-portable', + }, }, plugins, test: { diff --git a/apps/kyb-app/vite.lib.config.ts b/apps/kyb-app/vite.lib.config.ts new file mode 100644 index 0000000000..c0b951dcb4 --- /dev/null +++ b/apps/kyb-app/vite.lib.config.ts @@ -0,0 +1,45 @@ +import react from '@vitejs/plugin-react'; +import tailwindcss from 'tailwindcss'; +import { PluginOption } from 'vite'; +import dts from 'vite-plugin-dts'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import { defineConfig } from 'vitest/config'; + +const plugins: PluginOption[] = [ + react(), + tailwindcss(), + dts({ copyDtsFiles: true, tsConfigFilePath: './tsconfig-lib.json' }), + tsconfigPaths({ + projects: ['./tsconfig-lib.json'], + }), +]; + +// https://vitejs.dev/config/ +export default defineConfig({ + build: { + sourcemap: true, + outDir: 'dist/collection-flow-portable', + lib: { + entry: { + index: './src/lib.ts', + }, + formats: ['es'], + name: 'collection-flow-portable', + }, + rollupOptions: { + external: ['react', 'react-router-dom'], + output: { + globals: { + react: 'React', + 'react-dom': 'ReactDOM', + }, + }, + }, + }, + plugins, + test: { + environment: 'jsdom', + globals: true, + setupFiles: './tests/setup.js', + }, +}); diff --git a/apps/workflows-dashboard/package.json b/apps/workflows-dashboard/package.json index 22198a63b4..d255868f6f 100644 --- a/apps/workflows-dashboard/package.json +++ b/apps/workflows-dashboard/package.json @@ -14,7 +14,12 @@ "test": "NODE_ENV=test jest" }, "dependencies": { +<<<<<<< Updated upstream "@ballerine/common": "^0.9.14", +======= + "@ballerine/common": "^0.9.12", + "@ballerine/kyb-app": "link:../kyb-app", +>>>>>>> Stashed changes "@lukemorales/query-key-factory": "^1.0.3", "@radix-ui/react-avatar": "^1.0.3", "@radix-ui/react-dialog": "1.0.4", diff --git a/apps/workflows-dashboard/public/locales/cn/translation.json b/apps/workflows-dashboard/public/locales/cn/translation.json new file mode 100644 index 0000000000..e7b01101f3 --- /dev/null +++ b/apps/workflows-dashboard/public/locales/cn/translation.json @@ -0,0 +1,2009 @@ +{ + "step": "步", + "back": "后退", + "saving": "保存", + "progressSaved": "已保存进度", + "contact": "接触 {{companyName}} 获取支持", + "backToPortal": "返回 {{companyName}} 门户", + "addLabel": "添加", + "optionalLabel": "(选填)", + "rejected": { + "header": "帐户激活被拒绝", + "content": "激活您的帐户时似乎出现问题。" + }, + "approved": { + "header": "申请完成
", + "content": "返回 {{companyName}} 门户使用系统" + }, + "success": { + "header": "谢谢!
我们正在审核您的申请", + "content": "一旦您的帐户准备就绪,我们将通过电子邮件通知您。" + }, + "countries": { + "AF": { + "name": "阿富汗", + "nationality": "阿富汗人" + }, + "AL": { + "name": "阿尔巴尼亚", + "nationality": "阿尔巴尼亚人" + }, + "DZ": { + "name": "阿尔及利亚", + "nationality": "阿尔及利亚人" + }, + "AD": { + "name": "安道尔", + "nationality": "安道尔人" + }, + "AO": { + "name": "安哥拉", + "nationality": "安哥拉人" + }, + "AG": { + "name": "安提瓜和巴布达", + "nationality": "安提瓜人" + }, + "AR": { + "name": "阿根廷", + "nationality": "阿根廷人" + }, + "AM": { + "name": "亚美尼亚", + "nationality": "亚美尼亚人" + }, + "AU": { + "name": "澳大利亚", + "nationality": "澳大利亚人" + }, + "AT": { + "name": "奥地利", + "nationality": "奥地利人" + }, + "AZ": { + "name": "阿塞拜疆", + "nationality": "阿塞拜疆人" + }, + "BS": { + "name": "巴哈马", + "nationality": "巴哈马人" + }, + "BH": { + "name": "巴林", + "nationality": "巴林人" + }, + "BD": { + "name": "孟加拉国", + "nationality": "孟加拉人" + }, + "BB": { + "name": "巴巴多斯", + "nationality": "巴巴多斯人" + }, + "BY": { + "name": "白俄罗斯", + "nationality": "白俄罗斯人" + }, + "BE": { + "name": "比利时", + "nationality": "比利时人" + }, + "BZ": { + "name": "伯利兹", + "nationality": "伯利兹人" + }, + "BJ": { + "name": "贝宁", + "nationality": "贝宁人" + }, + "BM": { + "name": "百慕大", + "nationality": "百慕大人" + }, + "BT": { + "name": "不丹", + "nationality": "不丹人" + }, + "BO": { + "name": "玻利维亚", + "nationality": "玻利维亚人" + }, + "BA": { + "name": "波斯尼亚和黑塞哥维那", + "nationality": "波斯尼亚和黑塞哥维那人" + }, + "BW": { + "name": "博茨瓦纳", + "nationality": "博茨瓦纳人" + }, + "BV": { + "name": "布韦岛", + "nationality": "布韦岛人" + }, + "BR": { + "name": "巴西", + "nationality": "巴西人" + }, + "IO": { + "name": "英属印度洋领地", + "nationality": "英属印度洋领地人" + }, + "BN": { + "name": "文莱", + "nationality": "文莱人" + }, + "BG": { + "name": "保加利亚", + "nationality": "保加利亚人" + }, + "BF": { + "name": "布基纳法索", + "nationality": "布基纳法索人" + }, + "BI": { + "name": "布隆迪", + "nationality": "布隆迪人" + }, + "KH": { + "name": "柬埔寨", + "nationality": "柬埔寨人" + }, + "CM": { + "name": "喀麦隆", + "nationality": "喀麦隆人" + }, + "CA": { + "name": "加拿大", + "nationality": "加拿大人" + }, + "CV": { + "name": "佛得角", + "nationality": "佛得角人" + }, + "KY": { + "name": "开曼群岛", + "nationality": "开曼群岛人" + }, + "CF": { + "name": "中非共和国", + "nationality": "中非共和国人" + }, + "TD": { + "name": "乍得", + "nationality": "乍得人" + }, + "CL": { + "name": "智利", + "nationality": "智利人" + }, + "CN": { + "name": "中国", + "nationality": "中国人" + }, + "CX": { + "name": "圣诞岛", + "nationality": "圣诞岛人" + }, + "CC": { + "name": "科科斯(基林)群岛", + "nationality": "科科斯(基林)群岛人" + }, + "CO": { + "name": "哥伦比亚", + "nationality": "哥伦比亚人" + }, + "KM": { + "name": "科摩罗", + "nationality": "科摩罗人" + }, + "CG": { + "name": "刚果共和国", + "nationality": "刚果共和国人" + }, + "CD": { + "name": "刚果民主共和国", + "nationality": "刚果民主共和国人" + }, + "CK": { + "name": "库克群岛", + "nationality": "库克群岛人" + }, + "CR": { + "name": "哥斯达黎加", + "nationality": "哥斯达黎加人" + }, + "CI": { + "name": "科特迪瓦", + "nationality": "科特迪瓦人" + }, + "HR": { + "name": "克罗地亚", + "nationality": "克罗地亚人" + }, + "CU": { + "name": "古巴", + "nationality": "古巴人" + }, + "CY": { + "name": "塞浦路斯", + "nationality": "塞浦路斯人" + }, + "CZ": { + "name": "捷克共和国", + "nationality": "捷克共和国人" + }, + "DK": { + "name": "丹麦", + "nationality": "丹麦人" + }, + "DJ": { + "name": "吉布提", + "nationality": "吉布提人" + }, + "DM": { + "name": "多米尼克", + "nationality": "多米尼克人" + }, + "DO": { + "name": "多米尼加共和国", + "nationality": "多米尼加共和国人" + }, + "EC": { + "name": "厄瓜多尔", + "nationality": "厄瓜多尔人" + }, + "EG": { + "name": "埃及", + "nationality": "埃及人" + }, + "SV": { + "name": "萨尔瓦多", + "nationality": "萨尔瓦多人" + }, + "GQ": { + "name": "赤道几内亚", + "nationality": "赤道几内亚人" + }, + "ER": { + "name": "厄立特里亚", + "nationality": "厄立特里亚人" + }, + "EE": { + "name": "爱沙尼亚", + "nationality": "爱沙尼亚人" + }, + "ET": { + "name": "埃塞俄比亚", + "nationality": "埃塞俄比亚人" + }, + "FK": { + "name": "福克兰群岛", + "nationality": "福克兰群岛人" + }, + "FO": { + "name": "法罗群岛", + "nationality": "法罗群岛人" + }, + "FJ": { + "name": "斐济", + "nationality": "斐济人" + }, + "FI": { + "name": "芬兰", + "nationality": "芬兰人" + }, + "FR": { + "name": "法国", + "nationality": "法国人" + }, + "GF": { + "name": "法属圭亚那", + "nationality": "法属圭亚那人" + }, + "PF": { + "name": "法属波利尼西亚", + "nationality": "法属波利尼西亚人" + }, + "GA": { + "name": "加蓬", + "nationality": "加蓬人" + }, + "GM": { + "name": ["冈比亚共和国", "冈比亚"], + "nationality": "冈比亚人" + }, + "GE": { + "name": "格鲁吉亚", + "nationality": "格鲁吉亚人" + }, + "DE": { + "name": "德国", + "nationality": "德国人" + }, + "GH": { + "name": "加纳", + "nationality": "加纳人" + }, + "GI": { + "name": "直布罗陀", + "nationality": "直布罗陀" + }, + "GR": { + "name": "希腊", + "nationality": "希腊人" + }, + "GL": { + "name": "格陵兰", + "nationality": "格陵兰人" + }, + "GD": { + "name": "格林纳达", + "nationality": "格林纳达人" + }, + "GP": { + "name": "瓜德罗普", + "nationality": "瓜德罗普" + }, + "GU": { + "name": "关岛", + "nationality": "关岛" + }, + "GT": { + "name": "危地马拉", + "nationality": "危地马拉人" + }, + "GN": { + "name": "几内亚", + "nationality": "几内亚人" + }, + "GW": { + "name": "几内亚比绍", + "nationality": "几内亚比绍人" + }, + "GY": { + "name": "圭亚那", + "nationality": "圭亚那人" + }, + "HT": { + "name": "海地", + "nationality": "海地人" + }, + "HM": { + "name": "赫德岛和麦克唐纳群岛", + "nationality": "赫德岛和麦克唐纳群岛" + }, + "VA": { + "name": "梵蒂冈城国", + "nationality": "梵蒂冈城国" + }, + "HN": { + "name": "洪都拉斯", + "nationality": "洪都拉斯人" + }, + "HK": { + "name": "香港", + "nationality": "香港" + }, + "HU": { + "name": "匈牙利", + "nationality": "匈牙利人" + }, + "IS": { + "name": "冰岛", + "nationality": "冰岛人" + }, + "IN": { + "name": "印度", + "nationality": "印度人" + }, + "ID": { + "name": "印度尼西亚", + "nationality": "印度尼西亚人" + }, + "IR": { + "name": ["伊朗伊斯兰共和国", "伊朗"], + "nationality": "伊朗人" + }, + "IQ": { + "name": "伊拉克", + "nationality": "伊拉克人" + }, + "IE": { + "name": "爱尔兰", + "nationality": "爱尔兰人" + }, + "IL": { + "name": "以色列", + "nationality": "以色列人" + }, + "IT": { + "name": "意大利", + "nationality": "意大利人" + }, + "JM": { + "name": "牙买加", + "nationality": "牙买加人" + }, + "JP": { + "name": "日本", + "nationality": "日本人" + }, + "JO": { + "name": "约旦", + "nationality": "约旦人" + }, + "KZ": { + "name": "哈萨克斯坦", + "nationality": "哈萨克斯坦人" + }, + "KE": { + "name": "肯尼亚", + "nationality": "肯尼亚人" + }, + "KI": { + "name": "基里巴斯", + "nationality": "基里巴斯人" + }, + "KP": { + "name": "朝鲜", + "nationality": "朝鲜人" + }, + "KR": { + "name": ["韩国", "大韩民国", "韩国共和国"], + "nationality": "韩国人" + }, + "KW": { + "name": "科威特", + "nationality": "科威特人" + }, + "KG": { + "name": "吉尔吉斯斯坦", + "nationality": "吉尔吉斯人" + }, + "LA": { + "name": "老挝人民民主共和国", + "nationality": "老挝人" + }, + "LV": { + "name": "拉脱维亚", + "nationality": "拉脱维亚人" + }, + "LB": { + "name": "黎巴嫩", + "nationality": "黎巴嫩人" + }, + "LS": { + "name": "莱索托", + "nationality": "莱索托人" + }, + "LR": { + "name": "利比里亚", + "nationality": "利比里亚人" + }, + "LY": { + "name": "利比亚", + "nationality": "利比亚人" + }, + "LI": { + "name": "列支敦士登", + "nationality": "列支敦士登人" + }, + "LT": { + "name": "立陶宛", + "nationality": "立陶宛人" + }, + "LU": { + "name": "卢森堡", + "nationality": "卢森堡人" + }, + "MO": { + "name": "澳门", + "nationality": "澳门" + }, + "MK": { + "name": "北马其顿", + "nationality": "北马其顿人" + }, + "MG": { + "name": "马达加斯加", + "nationality": "马达加斯加人" + }, + "MW": { + "name": "马拉维", + "nationality": "马拉维人" + }, + "MY": { + "name": "马来西亚", + "nationality": "马来西亚人" + }, + "MV": { + "name": "马尔代夫", + "nationality": "马尔代夫人" + }, + "ML": { + "name": "马里", + "nationality": "马里人" + }, + "MT": { + "name": "马耳他", + "nationality": "马耳他人" + }, + "MH": { + "name": "马绍尔群岛", + "nationality": "马绍尔群岛" + }, + "MQ": { + "name": "马提尼克", + "nationality": "马提尼克" + }, + "MR": { + "name": "毛里塔尼亚", + "nationality": "毛里塔尼亚人" + }, + "MU": { + "name": "毛里求斯", + "nationality": "毛里求斯人" + }, + "YT": { + "name": "马约特", + "nationality": "马约特" + }, + "MX": { + "name": "墨西哥", + "nationality": "墨西哥人" + }, + "FM": { + "name": "密克罗尼西亚联邦", + "nationality": "密克罗尼西亚联邦" + }, + "MD": { + "name": "摩尔多瓦", + "nationality": "摩尔多瓦人" + }, + "MC": { + "name": "摩纳哥", + "nationality": "摩纳哥人" + }, + "MN": { + "name": "蒙古国", + "nationality": "蒙古人" + }, + "MS": { + "name": "蒙特塞拉特", + "nationality": "蒙特塞拉特" + }, + "MA": { + "name": "摩洛哥", + "nationality": "摩洛哥人" + }, + "MZ": { + "name": "莫桑比克", + "nationality": "莫桑比克人" + }, + "MM": { + "name": "缅甸", + "nationality": "缅甸人" + }, + "NA": { + "name": "纳米比亚", + "nationality": "纳米比亚人" + }, + "NR": { + "name": "瑙鲁", + "nationality": "瑙鲁人" + }, + "NP": { + "name": "尼泊尔", + "nationality": "尼泊尔人" + }, + "NL": { + "name": "荷兰", + "nationality": "荷兰人" + }, + "NC": { + "name": "新喀里多尼亚", + "nationality": "新喀里多尼亚" + }, + "NZ": { + "name": "新西兰", + "nationality": "新西兰人" + }, + "NI": { + "name": "尼加拉瓜", + "nationality": "尼加拉瓜人" + }, + "NE": { + "name": "尼日尔", + "nationality": "尼日尔人" + }, + "NG": { + "name": "尼日利亚", + "nationality": "尼日利亚人" + }, + "NU": { + "name": "纽埃", + "nationality": "纽埃" + }, + "NF": { + "name": "诺福克岛", + "nationality": "诺福克岛" + }, + "MP": { + "name": "北马里亚纳群岛", + "nationality": "北马里亚纳群岛" + }, + "NO": { + "name": "挪威", + "nationality": "挪威人" + }, + "OM": { + "name": "阿曼", + "nationality": "阿曼人" + }, + "PK": { + "name": "巴基斯坦", + "nationality": "巴基斯坦人" + }, + "PW": { + "name": "帕劳", + "nationality": "帕劳人" + }, + "PS": { + "name": "巴勒斯坦", + "nationality": "巴勒斯坦" + }, + "PA": { + "name": "巴拿马", + "nationality": "巴拿马人" + }, + "PG": { + "name": "巴布亚新几内亚", + "nationality": "巴布亚新几内亚人" + }, + "PY": { + "name": "巴拉圭", + "nationality": "巴拉圭人" + }, + "PE": { + "name": "秘鲁", + "nationality": "秘鲁人" + }, + "PH": { + "name": "菲律宾", + "nationality": "菲律宾人" + }, + "PN": { + "name": "皮特凯恩群岛", + "nationality": "皮特凯恩群岛" + }, + "PL": { + "name": "波兰", + "nationality": "波兰人" + }, + "PT": { + "name": "葡萄牙", + "nationality": "葡萄牙人" + }, + "PR": { + "name": "波多黎各", + "nationality": "波多黎各人" + }, + "QA": { + "name": "卡塔尔", + "nationality": "卡塔尔人" + }, + "RE": { + "name": "留尼汪", + "nationality": "留尼汪人" + }, + "RO": { + "name": "罗马尼亚", + "nationality": "罗马尼亚人" + }, + "RU": { + "name": "俄罗斯", + "nationality": "俄罗斯人" + }, + "RW": { + "name": "卢旺达", + "nationality": "卢旺达人" + }, + "SH": { + "name": "圣赫勒拿", + "nationality": "圣赫勒拿人" + }, + "KN": { + "name": "圣基茨和尼维斯", + "nationality": "圣基茨和尼维斯人" + }, + "LC": { + "name": "圣卢西亚", + "nationality": "圣卢西亚人" + }, + "PM": { + "name": "圣皮埃尔和密克隆群岛", + "nationality": "圣皮埃尔和密克隆群岛人" + }, + "VC": { + "name": "圣文森特和格林纳丁斯", + "nationality": "圣文森特和格林纳丁斯人" + }, + "WS": { + "name": "萨摩亚", + "nationality": "萨摩亚人" + }, + "SM": { + "name": "圣马力诺", + "nationality": "圣马力诺人" + }, + "ST": { + "name": "圣多美和普林西比", + "nationality": "圣多美和普林西比人" + }, + "SA": { + "name": "沙特阿拉伯", + "nationality": "沙特阿拉伯人" + }, + "SN": { + "name": "塞内加尔", + "nationality": "塞内加尔人" + }, + "SC": { + "name": "塞舌尔", + "nationality": "塞舌尔人" + }, + "SL": { + "name": "塞拉利昂", + "nationality": "塞拉利昂人" + }, + "SG": { + "name": "新加坡", + "nationality": "新加坡人" + }, + "SK": { + "name": "斯洛伐克", + "nationality": "斯洛伐克人" + }, + "SI": { + "name": "斯洛文尼亚", + "nationality": "斯洛文尼亚人" + }, + "SB": { + "name": "所罗门群岛", + "nationality": "所罗门群岛人" + }, + "SO": { + "name": "索马里", + "nationality": "索马里人" + }, + "ZA": { + "name": "南非", + "nationality": "南非人" + }, + "GS": { + "name": "南乔治亚岛和南桑威奇群岛", + "nationality": "南乔治亚岛和南桑威奇群岛人" + }, + "ES": { + "name": "西班牙", + "nationality": "西班牙人" + }, + "LK": { + "name": "斯里兰卡", + "nationality": "斯里兰卡人" + }, + "SD": { + "name": "苏丹", + "nationality": "苏丹人" + }, + "SR": { + "name": "苏里南", + "nationality": "苏里南人" + }, + "SJ": { + "name": "斯瓦尔巴和扬·迈恩", + "nationality": "斯瓦尔巴和扬·迈恩人" + }, + "SZ": { + "name": "斯威士兰", + "nationality": "斯威士兰人" + }, + "SE": { + "name": "瑞典", + "nationality": "瑞典人" + }, + "CH": { + "name": "瑞士", + "nationality": "瑞士人" + }, + "SY": { + "name": "叙利亚", + "nationality": "叙利亚人" + }, + "TW": { + "name": "台湾", + "nationality": "台湾人" + }, + "TJ": { + "name": "塔吉克斯坦", + "nationality": "塔吉克斯坦人" + }, + "TZ": { + "name": "坦桑尼亚", + "nationality": "坦桑尼亚人" + }, + "TH": { + "name": "泰国", + "nationality": "泰国人" + }, + "TL": { + "name": "东帝汶", + "nationality": "东帝汶人" + }, + "TG": { + "name": "多哥", + "nationality": "多哥人" + }, + "TK": { + "name": "托克劳", + "nationality": "托克劳人" + }, + "TO": { + "name": "汤加", + "nationality": "汤加人" + }, + "TT": { + "name": "特立尼达和多巴哥", + "nationality": "特立尼达和多巴哥人" + }, + "TN": { + "name": "突尼斯", + "nationality": "突尼斯人" + }, + "TR": { + "name": "土耳其", + "nationality": "土耳其人" + }, + "TM": { + "name": "土库曼斯坦", + "nationality": "土库曼斯坦人" + }, + "TC": { + "name": "特克斯和凯科斯群岛", + "nationality": "特克斯和凯科斯群岛人" + }, + "TV": { + "name": "图瓦卢", + "nationality": "图瓦卢人" + }, + "UG": { + "name": "乌干达", + "nationality": "乌干达人" + }, + "UA": { + "name": "乌克兰", + "nationality": "乌克兰人" + }, + "AE": { + "name": "阿联酋", + "nationality": "阿联酋人" + }, + "GB": { + "name": "英国", + "nationality": "英国人" + }, + "US": { + "name": "美国", + "nationality": "美国人" + }, + "UM": { + "name": "美国本土外小岛屿", + "nationality": "美国本土外小岛屿人" + }, + "UY": { + "name": "乌拉圭", + "nationality": "乌拉圭人" + }, + "UZ": { + "name": "乌兹别克斯坦", + "nationality": "乌兹别克斯坦人" + }, + "VU": { + "name": "瓦努阿图", + "nationality": "瓦努阿图人" + }, + "VE": { + "name": "委内瑞拉", + "nationality": "委内瑞拉人" + }, + "VN": { + "name": "越南", + "nationality": "越南人" + }, + "VG": { + "name": "英属维尔京群岛", + "nationality": "英属维尔京群岛人" + }, + "VI": { + "name": "美属维尔京群岛", + "nationality": "美属维尔京群岛人" + }, + "WF": { + "name": "瓦利斯和富图纳", + "nationality": "瓦利斯和富图纳人" + }, + "EH": { + "name": "西撒哈拉", + "nationality": "西撒哈拉人" + }, + "YE": { + "name": "也门", + "nationality": "也门人" + }, + "ZM": { + "name": "赞比亚", + "nationality": "赞比亚人" + }, + "ZW": { + "name": "津巴布韦", + "nationality": "津巴布韦人" + }, + "AX": { + "name": "奥兰群岛", + "nationality": "奥兰群岛人" + }, + "BQ": { + "name": "博内尔,圣尤斯特歇斯和萨巴", + "nationality": "博内尔人,圣尤斯特歇斯人,和萨巴人" + }, + "CW": { + "name": "库拉索", + "nationality": "库拉索人" + }, + "GG": { + "name": "根西岛", + "nationality": "根西岛人" + }, + "IM": { + "name": "曼岛", + "nationality": "曼岛人" + }, + "JE": { + "name": "泽西岛", + "nationality": "泽西岛人" + }, + "ME": { + "name": "黑山", + "nationality": "黑山人" + }, + "BL": { + "name": "圣巴泰勒米", + "nationality": "圣巴泰勒米人" + }, + "MF": { + "name": "圣马丁岛(法属部分)", + "nationality": "圣马丁岛人(法属部分)" + }, + "RS": { + "name": "塞尔维亚", + "nationality": "塞尔维亚人" + }, + "SX": { + "name": "圣马丁岛(荷兰部分)", + "nationality": "圣马丁岛人(荷兰部分)" + }, + "SS": { + "name": "南苏丹", + "nationality": "南苏丹人" + }, + "XK": { + "name": "科索沃", + "nationality": "科索沃人" + } + }, + "industries": [ + "成人娱乐和产品", + "航空航天工程", + "农业和农业", + "航空公司和航空", + "航空公司和包机服务", + "酒类销售", + "替代医学", + "动画", + "古董", + "服装和时尚", + "建筑修复", + "建筑和规划", + "艺术和手工艺品用品", + "艺术和手工艺", + "占星学和灵性", + "拍卖和拍卖", + "拍卖和竞价拍卖", + "汽车维修", + "汽车", + "航空和航天", + "保释金", + "面包和糖果", + "银行和金融", + "饮料生产", + "自行车销售和维修", + "二元期权交易", + "生物医学", + "生物技术", + "比特币和加密货币", + "船舶建造和维修", + "酿酒厂和酿酒厂", + "婚礼服务", + "广播媒体", + "建筑材料", + "蜡烛和芳香疗法", + "大麻和CBD产品", + "大麻", + "陶瓷和陶器", + "慈善机构和非营利组织", + "化学品", + "托儿服务", + "香烟、电子烟和电子烟店", + "市民和社会组织", + "土木工程", + "临床研究", + "收藏品", + "催收机构", + "商业渔业", + "商业地产", + "商品交易", + "计算机和网络安全", + "计算机游戏", + "计算机硬件", + "计算机软件", + "建筑", + "消费电子产品", + "消费品", + "消费者服务", + "化妆品和美容", + "精酿啤酒和烈酒", + "信用修复服务", + "奶制品", + "舞蹈和舞蹈指导", + "数据分析和统计", + "约会服务", + "债务合并和重组", + "国防和太空", + "设计", + "数字下载", + "数字媒体", + "直销", + "电子商务", + "教育和电子学习", + "老年护理", + "电气和电子制造", + "电气设备", + "紧急服务", + "娱乐", + "环境服务", + "马匹和马术", + "电子竞技和投注", + "活动门票经纪", + "活动服务", + "高管办公室和管理", + "设施服务", + "农业和农业设备", + "时尚配饰", + "金融服务", + "美术", + "枪支、弹药和配件", + "烟花销售", + "渔业", + "花店", + "食品和饮料", + "食品生产", + "食品卡车", + "鞋类制造", + "林业和采伐", + "外汇交易", + "化石燃料", + "丧葬服务", + "家具制造", + "家具", + "赌博和赌场", + "基因组学和遗传学", + "地质学和地球科学", + "玻璃、陶瓷和混凝土", + "政府和公共服务", + "平面设计", + "绿色和可持续生活", + "健康、健身和健康", + "高等教育", + "爱好和手工艺", + "家居和园艺", + "家庭卫生保健", + "家居用品", + "星座和心理服务", + "园艺", + "医院和医疗保健", + "酒店业", + "人力资源", + "非法和黑市产品", + "进出口", + "土著服务", + "工业自动化", + "传染病", + "信息服务", + "信息技术", + "保险", + "室内设计", + "国际事务", + "国际贸易和发展", + "互联网", + "投资银行", + "珠宝销售", + "儿童产品", + "语言学校和教育", + "洗衣和干洗", + "法律和法律服务", + "休闲和旅游", + "图书馆和档案馆", + "照明", + "语言学", + "物流和供应链", + "豪华和特殊商品", + "奢侈品和珠宝", + "机械", + "杂志订阅", + "杂志", + "邮件和邮寄服务", + "海洋科学", + "海事", + "营销和广告", + "材料研究", + "机械或工业工程", + "媒体制作", + "医疗和休闲大麻零售", + "医疗器械", + "医疗实践", + "心理健康护理", + "气象学和气象服务", + "微电子学", + "军事和国防", + "采矿和金属", + "模特和经纪机构", + "电影和电影", + "多级营销 (MLM)", + "博物馆和机构", + "音乐", + "纳米技术", + "天然和有机产品", + "神经科学", + "报纸", + "核能", + "保健品和补品", + "营养学和饮食学", + "办公用品", + "石油和能源", + "在线游戏和游戏物品", + "在线媒体", + "验光学", + "外包和离岸", + "包装", + "纸和森林产品", + "典当店", + "发薪日贷款和贷款", + "表演艺术", + "宠物产品和服务", + "制药和药店", + "制药", + "慈善事业", + "摄影", + "塑料", + "播客", + "警察和安全服务", + "政治组织和游说", + "邮政服务", + "家禽", + "贵金属和宝石", + "初中和高中教育", + "印刷", + "私立和特殊教育", + "专业培训和教练", + "公共广播", + "公共政策", + "公共关系和传媒", + "出版", + "制浆和造纸", + "铁路", + "牧场经营", + "房地产", + "宗教组织", + "可再生能源", + "研究", + "餐馆", + "零售", + "机器人技术", + "卫星", + "桑拿浴和温泉", + "安全和调查", + "半导体", + "造船", + "短租 (例如 Airbnb)", + "社交媒体", + "太空探索", + "特色食品", + "体育教练和指导", + "体育赛事预测或赔率制定", + "体育", + "人员招聘和招聘", + "超市", + "可持续农业", + "剥制动物", + "茶叶生产", + "电信", + "电话销售", + "远程医疗", + "电视广播", + "纺织品", + "治疗", + "分时共享", + "烟草和雪茄店", + "烟草", + "玩具和游戏", + "贸易和发展", + "贸易展览和活动", + "传统能源", + "翻译和本地化", + "旅行社和旅行社", + "城市规划", + "公用事业", + "兽医药", + "兽医", + "视频制作", + "虚拟现实和增强现实", + "仓储", + "水处理", + "武器和刀具销售", + "可穿戴技术", + "减肥计划和产品", + "批发", + "葡萄酒和烈酒", + "写作和编辑", + "瑜伽和普拉提", + "动物学和野生动物" + ], + "languages": [ + { + "const": "afar", + "title": "阿法尔" + }, + { + "const": "abkhazian", + "title": "阿布哈兹" + }, + { + "const": "avestan", + "title": "阿维斯陀语" + }, + { + "const": "afrikaans", + "title": "南非荷兰语" + }, + { + "const": "akan", + "title": "阿肯" + }, + { + "const": "amharic", + "title": "阿姆哈拉语" + }, + { + "const": "aragonese", + "title": "阿拉贡语" + }, + { + "const": "arabic", + "title": "阿拉伯语" + }, + { + "const": "assamese", + "title": "阿萨姆语" + }, + { + "const": "avaric", + "title": "阿瓦尔语" + }, + { + "const": "aymara", + "title": "艾马拉语" + }, + { + "const": "azerbaijani", + "title": "阿塞拜疆语" + }, + { + "const": "bashkir", + "title": "巴什基尔" + }, + { + "const": "belarusian", + "title": "白俄罗斯语" + }, + { + "const": "bulgarian", + "title": "保加利亚语" + }, + { + "const": "bihari languages", + "title": "比哈尔语" + }, + { + "const": "bislama", + "title": "比斯拉马语" + }, + { + "const": "bambara", + "title": "班巴拉语" + }, + { + "const": "bengali", + "title": "孟加拉语" + }, + { + "const": "tibetan", + "title": "藏语" + }, + { + "const": "breton", + "title": "布列塔尼语" + }, + { + "const": "bosnian", + "title": "波斯尼亚语" + }, + { + "const": "catalan; valencian", + "title": "加泰罗尼亚语" + }, + { + "const": "chechen", + "title": "车臣语" + }, + { + "const": "chamorro", + "title": "查莫罗语" + }, + { + "const": "corsican", + "title": "科西嘉语" + }, + { + "const": "cree", + "title": "克里语" + }, + { + "const": "czech", + "title": "捷克语" + }, + { + "const": "church slavic; old slavonic; church slavonic; old bulgarian; old church slavonic", + "title": "教会斯拉夫语" + }, + { + "const": "chuvash", + "title": "楚瓦什语" + }, + { + "const": "welsh", + "title": "威尔士语" + }, + { + "const": "danish", + "title": "丹麦语" + }, + { + "const": "german", + "title": "德语" + }, + { + "const": "divehi; dhivehi; maldivian", + "title": "迪维希语" + }, + { + "const": "dzongkha", + "title": "宗喀巴语" + }, + { + "const": "ewe", + "title": "埃维语" + }, + { + "const": "greek, modern (1453-)", + "title": "现代希腊语" + }, + { + "const": "english", + "title": "英语" + }, + { + "const": "esperanto", + "title": "世界语" + }, + { + "const": "spanish; castilian", + "title": "西班牙语" + }, + { + "const": "estonian", + "title": "爱沙尼亚语" + }, + { + "const": "basque", + "title": "巴斯克语" + }, + { + "const": "persian", + "title": "波斯语" + }, + { + "const": "fulah", + "title": "富拉语" + }, + { + "const": "finnish", + "title": "芬兰语" + }, + { + "const": "fijian", + "title": "斐济语" + }, + { + "const": "faroese", + "title": "法罗语" + }, + { + "const": "french", + "title": "法语" + }, + { + "const": "western frisian", + "title": "西弗里西亚语" + }, + { + "const": "irish", + "title": "爱尔兰语" + }, + { + "const": "gaelic; scottish gaelic", + "title": "盖尔语" + }, + { + "const": "galician", + "title": "加利西亚语" + }, + { + "const": "guarani", + "title": "瓜拉尼语" + }, + { + "const": "gujarati", + "title": "古吉拉特语" + }, + { + "const": "manx", + "title": "马恩语" + }, + { + "const": "hausa", + "title": "豪萨语" + }, + { + "const": "hebrew", + "title": "希伯来语" + }, + { + "const": "hindi", + "title": "印地语" + }, + { + "const": "hiri motu", + "title": "希里莫图语" + }, + { + "const": "croatian", + "title": "克罗地亚语" + }, + { + "const": "haitian; haitian creole", + "title": "海地克里奥尔语" + }, + { + "const": "hungarian", + "title": "匈牙利语" + }, + { + "const": "armenian", + "title": "亚美尼亚语" + }, + { + "const": "herero", + "title": "赫雷罗语" + }, + { + "const": "interlingua (international auxiliary language association)", + "title": "国际辅助语联盟" + }, + { + "const": "indonesian", + "title": "印尼语" + }, + { + "const": "interlingue; occidental", + "title": "国际语" + }, + { + "const": "igbo", + "title": "伊博语" + }, + { + "const": "sichuan Yi; Nuosu", + "title": "四川彝语" + }, + { + "const": "inupiaq", + "title": "伊努皮克语" + }, + { + "const": "ido", + "title": "伊多语" + }, + { + "const": "icelandic", + "title": "冰岛语" + }, + { + "const": "italian", + "title": "意大利语" + }, + { + "const": "inuktitut", + "title": "伊努克提图特语" + }, + { + "const": "japanese", + "title": "日语" + }, + { + "const": "javanese", + "title": "爪哇语" + }, + { + "const": "georgian", + "title": "格鲁吉亚语" + }, + { + "const": "kongo", + "title": "刚果语" + }, + { + "const": "kikuyu; gikuyu", + "title": "吉库尤语" + }, + { + "const": "kuanyama; kwanyama", + "title": "宽亚马语" + }, + { + "const": "kazakh", + "title": "哈萨克语" + }, + { + "const": "kalaallisut; greenlandic", + "title": "格陵兰语" + }, + { + "const": "central khmer", + "title": "高棉语" + }, + { + "const": "kannada", + "title": "卡纳达语" + }, + { + "const": "korean", + "title": "韩语" + }, + { + "const": "kanuri", + "title": "卡努里语" + }, + { + "const": "kashmiri", + "title": "克什米尔语" + }, + { + "const": "kurdish", + "title": "库尔德语" + }, + { + "const": "komi", + "title": "科米语" + }, + { + "const": "cornish", + "title": "康沃尔语" + }, + { + "const": "kirghiz; kyrgyz", + "title": "吉尔吉斯语" + }, + { + "const": "latin", + "title": "拉丁语" + }, + { + "const": "luxembourgish; letzeburgesch", + "title": "卢森堡语" + }, + { + "const": "ganda", + "title": "甘达语" + }, + { + "const": "limburgan; limburgish", + "title": "林堡语" + }, + { + "const": "lingala", + "title": "林加拉语" + }, + { + "const": "lao", + "title": "老挝语" + }, + { + "const": "lithuanian", + "title": "立陶宛语" + }, + { + "const": "luba-katanga", + "title": "卢巴加丹加语" + }, + { + "const": "latvian", + "title": "拉脱维亚语" + }, + { + "const": "malagasy", + "title": "马尔加什语" + }, + { + "const": "marshallese", + "title": "马绍尔语" + }, + { + "const": "maori", + "title": "毛利语" + }, + { + "const": "macedonian", + "title": "马其顿语" + }, + { + "const": "malayalam", + "title": "马拉雅拉姆语" + }, + { + "const": "mongolian", + "title": "蒙古语" + }, + { + "const": "marathi", + "title": "马拉地语" + }, + { + "const": "malay", + "title": "马来语" + }, + { + "const": "maltese", + "title": "马耳他语" + }, + { + "const": "burmese", + "title": "缅甸语" + }, + { + "const": "nauru", + "title": "瑙鲁语" + }, + { + "const": "bokmål, norwegian; norwegian bokmål", + "title": "挪威博克马尔语" + }, + { + "const": "ndebele, north; north ndebele", + "title": "北恩德贝勒语" + }, + { + "const": "nepali", + "title": "尼泊尔语" + }, + { + "const": "ndonga", + "title": "东格瓦纳语" + }, + { + "const": "dutch; flemish", + "title": "荷兰语" + }, + { + "const": "norwegian nynorsk; nynorsk, norwegian", + "title": "挪威尼诺斯克; 尼诺斯克,挪威" + }, + { + "const": "norwegian", + "title": "挪威" + }, + { + "const": "ndebele, south; south ndebele", + "title": "南恩德贝勒; 南恩德贝勒" + }, + { + "const": "navajo; navaho", + "title": "纳瓦霍; 纳瓦霍" + }, + { + "const": "chichewa; chewa; nyanja", + "title": "奇切瓦; 切瓦; 尼恩加" + }, + { + "const": "occitan (post 1500)", + "title": "奥克西唐(1500年后)" + }, + { + "const": "ojibwa", + "title": "奥吉布瓦" + }, + { + "const": "oromo", + "title": "奥罗莫" + }, + { + "const": "oriya", + "title": "奥里亚" + }, + { + "const": "ossetian; ossetic", + "title": "奥塞梯; 奥塞提克" + }, + { + "const": "panjabi; punjabi", + "title": "旁遮普; 旁遮普" + }, + { + "const": "pali", + "title": "巴利" + }, + { + "const": "polish", + "title": "波兰" + }, + { + "const": "pushto; pashto", + "title": "普什图; 普什图" + }, + { + "const": "portuguese", + "title": "葡萄牙" + }, + { + "const": "quechua", + "title": "克丘亚" + }, + { + "const": "romansh", + "title": "罗曼什" + }, + { + "const": "rundi", + "title": "基隆迪" + }, + { + "const": "romanian; moldavian; moldovan", + "title": "罗马尼亚; 摩尔多瓦; 摩尔多瓦" + }, + { + "const": "russian", + "title": "俄语" + }, + { + "const": "kinyarwanda", + "title": "基尼亚鲁安达" + }, + { + "const": "sanskrit", + "title": "梵文" + }, + { + "const": "sardinian", + "title": "撒丁" + }, + { + "const": "sindhi", + "title": "信德" + }, + { + "const": "northern sami", + "title": "北萨米" + }, + { + "const": "sango", + "title": "桑戈" + }, + { + "const": "sinhala; sinhalese", + "title": "僧伽罗; 僧伽罗" + }, + { + "const": "slovak", + "title": "斯洛伐克" + }, + { + "const": "slovenian", + "title": "斯洛文尼亚" + }, + { + "const": "samoan", + "title": "萨摩亚" + }, + { + "const": "shona", + "title": "绍纳" + }, + { + "const": "somali", + "title": "索马里" + }, + { + "const": "albanian", + "title": "阿尔巴尼亚" + }, + { + "const": "serbian", + "title": "塞尔维亚" + }, + { + "const": "swati", + "title": "斯瓦特" + }, + { + "const": "sotho, southern", + "title": "南索托" + }, + { + "const": "sundanese", + "title": "巽他" + }, + { + "const": "swedish", + "title": "瑞典" + }, + { + "const": "swahili", + "title": "斯瓦希里" + }, + { + "const": "tamil", + "title": "泰米尔" + }, + { + "const": "telugu", + "title": "泰卢固" + }, + { + "const": "tajik", + "title": "塔吉克" + }, + { + "const": "thai", + "title": "泰国" + }, + { + "const": "tigrinya", + "title": "提格利尼亚" + }, + { + "const": "turkmen", + "title": "土库曼" + }, + { + "const": "tagalog", + "title": "塔加洛" + }, + { + "const": "tswana", + "title": "茨瓦纳" + }, + { + "const": "tonga (tonga islands)", + "title": "汤加(汤加群岛)" + }, + { + "const": "turkish", + "title": "土耳其" + }, + { + "const": "tsonga", + "title": "通加" + }, + { + "const": "tatar", + "title": "鞑靼" + }, + { + "const": "twi", + "title": "契维" + }, + { + "const": "tahitian", + "title": "塔希提" + }, + { + "const": "uighur; uyghur", + "title": "维吾尔; 维吾尔" + }, + { + "const": "ukrainian", + "title": "乌克兰" + }, + { + "const": "urdu", + "title": "乌尔都" + }, + { + "const": "uzbek", + "title": "乌兹别克" + }, + { + "const": "venda", + "title": "文达" + }, + { + "const": "vietnamese", + "title": "越南" + }, + { + "const": "volapük", + "title": "沃拉普克" + }, + { + "const": "walloon", + "title": "瓦隆" + }, + { + "const": "wolof", + "title": "沃洛夫" + }, + { + "const": "xhosa", + "title": "科萨" + }, + { + "const": "yiddish", + "title": "意第绪" + }, + { + "const": "yoruba", + "title": "约鲁巴" + }, + { + "const": "zhuang; chuang", + "title": "壮; 壮" + }, + { + "const": "chinese", + "title": "中文" + }, + { + "const": "zulu", + "title": "祖鲁" + } + ] +} diff --git a/apps/workflows-dashboard/public/locales/en/translation.json b/apps/workflows-dashboard/public/locales/en/translation.json new file mode 100644 index 0000000000..489d8f648c --- /dev/null +++ b/apps/workflows-dashboard/public/locales/en/translation.json @@ -0,0 +1,1027 @@ +{ + "step": "Step", + "back": "Back", + "saving": "Saving", + "progressSaved": "Progress saved", + "contact": "Contact {{companyName}} for support", + "backToPortal": "Back to {{companyName}} Portal", + "addLabel": "Add", + "optionalLabel": " (optional) ", + "rejected": { + "header": "Account activation rejected", + "content": "It seems like there was a problem with activating your account." + }, + "approved": { + "header": "Application completed
successfully", + "content": "Go back to {{companyName}} portal to use the system" + }, + "success": { + "header": "Thank you!
We’re reviewing your application", + "content": "We will inform you by email once your account is ready." + }, + "industries": [ + "Adult Entertainment and Products", + "Aerospace Engineering", + "Agriculture and Farming", + "Airlines and Aviation", + "Airlines and Charter Services", + "Alcohol Sales", + "Alternative Medicine", + "Animation", + "Antiques", + "Apparel and Fashion", + "Architectural Restoration", + "Architecture and Planning", + "Arts and Crafts Supplies", + "Arts and Crafts", + "Astrology and Spiritual", + "Auctions and Auctioneering", + "Auctions and Penny Auctions", + "Automotive Repair", + "Automotive", + "Aviation & Aerospace", + "Bail Bonds", + "Bakery and Confections", + "Banking and Finance", + "Beverage Production", + "Bicycle Sales and Service", + "Binary Options Trading", + "Biomedical", + "Biotechnology", + "Bitcoins and Cryptocurrencies", + "Boat Building and Repair", + "Breweries and Distilleries", + "Bridal Services", + "Broadcast Media", + "Building Materials", + "Candle and Aromatherapy", + "Cannabis and CBD Products", + "Cannabis", + "Ceramics and Pottery", + "Charities and Non-Profits", + "Chemicals", + "Childcare", + "Cigarettes, E-Cigarettes, and Vape Shops", + "Civic and Social Organizations", + "Civil Engineering", + "Clinical Research", + "Collectibles", + "Collection Agencies", + "Commercial Fishing", + "Commercial Real Estate", + "Commodities Trading", + "Computer & Network Security", + "Computer Gaming", + "Computer Hardware", + "Computer Software", + "Construction", + "Consumer Electronics", + "Consumer Goods", + "Consumer Services", + "Cosmetics and Beauty", + "Craft Brewing and Distilling", + "Credit Repair Services", + "Dairy", + "Dance and Dance Instruction", + "Data Analysis and Statistics", + "Dating Services", + "Debt Consolidation and Restructuring", + "Defense and Space", + "Design", + "Digital Downloads", + "Digital Media", + "Direct Marketing", + "E-commerce", + "Education and E-Learning", + "Elderly Care", + "Electrical and Electronic Manufacturing", + "Electrical Equipment", + "Emergency Services", + "Entertainment", + "Environmental Services", + "Equine and Equestrian", + "eSports and Betting", + "Event Ticket Brokers", + "Events Services", + "Executive Office and Management", + "Facilities Services", + "Farming and Agriculture Equipment", + "Fashion Accessories", + "Financial Services", + "Fine Art", + "Firearms, Ammunition, and Accessories", + "Fireworks Sales", + "Fishery", + "Florists", + "Food and Beverages", + "Food Production", + "Food Trucks", + "Footwear Manufacturing", + "Forestry and Logging", + "Forex Trading", + "Fossil Fuels", + "Funeral Services", + "Furniture Manufacturing", + "Furniture", + "Gambling and Casinos", + "Genomics and Genetics", + "Geology and Earth Sciences", + "Glass, Ceramics and Concrete", + "Government and Public Services", + "Graphic Design", + "Green and Sustainable Living", + "Health, Wellness and Fitness", + "Higher Education", + "Hobbies and Crafts", + "Home and Garden", + "Home Health Care", + "Homewares", + "Horoscopes and Psychic Services", + "Horticulture", + "Hospital and Healthcare", + "Hospitality", + "Human Resources", + "Illegal and Black Market Products", + "Import and Export", + "Indigenous Services", + "Industrial Automation", + "Infectious Diseases", + "Information Services", + "Information Technology", + "Insurance", + "Interior Design", + "International Affairs", + "International Trade and Development", + "Internet", + "Investment Banking", + "Jewelry Sales", + "Kid's Products", + "Language Schools and Instruction", + "Laundry and Dry Cleaning", + "Law and Legal Services", + "Leisure and Travel", + "Library and Archives", + "Lighting", + "Linguistics", + "Logistics and Supply Chain", + "Luxury and Specialty Goods", + "Luxury Goods and Jewelry", + "Machinery", + "Magazine Subscriptions", + "Magazines", + "Mail and Shipping Services", + "Marine Sciences", + "Maritime", + "Marketing and Advertising", + "Materials Research", + "Mechanical or Industrial Engineering", + "Media Production", + "Medical and Recreational Marijuana Dispensaries", + "Medical Devices", + "Medical Practice", + "Mental Health Care", + "Meteorology and Weather Services", + "Microelectronics", + "Military and Defense", + "Mining and Metals", + "Modeling and Talent Agencies", + "Motion Pictures and Film", + "Multi-Level Marketing (MLM)", + "Museums and Institutions", + "Music", + "Nanotechnology", + "Natural and Organic Products", + "Neurosciences", + "Newspapers", + "Nuclear Energy", + "Nutraceuticals and Supplements", + "Nutrition and Dietetics", + "Office Supplies", + "Oil and Energy", + "Online Gaming and In-game Items", + "Online Media", + "Optometry", + "Outsourcing and Offshoring", + "Packaging", + "Paper and Forest Products", + "Pawn Shops", + "Payday Loans and Lenders", + "Performing Arts", + "Pet Products and Services", + "Pharmaceuticals and Drug Stores", + "Pharmaceuticals", + "Philanthropy", + "Photography", + "Plastics", + "Podcasting", + "Police and Security Services", + "Political Organization and Lobbying", + "Postal Services", + "Poultry", + "Precious Metals and Stones", + "Primary and Secondary Education", + "Printing", + "Private and Specialty Education", + "Professional Training and Coaching", + "Public Broadcasting", + "Public Policy", + "Public Relations and Communications", + "Publishing", + "Pulp and Paper", + "Railroad", + "Ranching", + "Real Estate", + "Religious Organizations", + "Renewable Energy", + "Research", + "Restaurants", + "Retail", + "Robotics", + "Satellites", + "Saunas and Spas", + "Security and Investigations", + "Semiconductors", + "Shipbuilding", + "Short-Term Rentals (e.g., Airbnb)", + "Social Media", + "Space Exploration", + "Specialty Foods", + "Sports Coaching and Instruction", + "Sports Forecasting or Odds Making", + "Sports", + "Staffing and Recruiting", + "Supermarkets", + "Sustainable Agriculture", + "Taxidermy", + "Tea Production", + "Telecommunications", + "Telemarketing", + "Telemedicine", + "Television Broadcasting", + "Textiles", + "Therapeutics", + "Timeshares", + "Tobacco and Cigar Shops", + "Tobacco", + "Toys and Games", + "Trade and Development", + "Trade Shows and Events", + "Traditional Energy", + "Translation and Localization", + "Travel Agencies and Tour Operators", + "Urban Planning", + "Utilities", + "Veterinary Medicine", + "Veterinary", + "Video Production", + "Virtual Reality and Augmented Reality", + "Warehousing", + "Water Treatment", + "Weapons and Knives Sales", + "Wearable Technology", + "Weight Loss Programs and Products", + "Wholesale", + "Wine and Spirits", + "Writing and Editing", + "Yoga and Pilates", + "Zoology and Wildlife" + ], + "languages": [ + { + "const": "afar", + "title": "Afar" + }, + { + "const": "abkhazian", + "title": "Abkhazian" + }, + { + "const": "avestan", + "title": "Avestan" + }, + { + "const": "afrikaans", + "title": "Afrikaans" + }, + { + "const": "akan", + "title": "Akan" + }, + { + "const": "amharic", + "title": "Amharic" + }, + { + "const": "aragonese", + "title": "Aragonese" + }, + { + "const": "arabic", + "title": "Arabic" + }, + { + "const": "assamese", + "title": "Assamese" + }, + { + "const": "avaric", + "title": "Avaric" + }, + { + "const": "aymara", + "title": "Aymara" + }, + { + "const": "azerbaijani", + "title": "Azerbaijani" + }, + { + "const": "bashkir", + "title": "Bashkir" + }, + { + "const": "belarusian", + "title": "Belarusian" + }, + { + "const": "bulgarian", + "title": "Bulgarian" + }, + { + "const": "bihari languages", + "title": "Bihari languages" + }, + { + "const": "bislama", + "title": "Bislama" + }, + { + "const": "bambara", + "title": "Bambara" + }, + { + "const": "bengali", + "title": "Bengali" + }, + { + "const": "tibetan", + "title": "Tibetan" + }, + { + "const": "breton", + "title": "Breton" + }, + { + "const": "bosnian", + "title": "Bosnian" + }, + { + "const": "catalan; valencian", + "title": "Catalan; Valencian" + }, + { + "const": "chechen", + "title": "Chechen" + }, + { + "const": "chamorro", + "title": "Chamorro" + }, + { + "const": "corsican", + "title": "Corsican" + }, + { + "const": "cree", + "title": "Cree" + }, + { + "const": "czech", + "title": "Czech" + }, + { + "const": "church slavic; old slavonic; church slavonic; old bulgarian; old church slavonic", + "title": "Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" + }, + { + "const": "chuvash", + "title": "Chuvash" + }, + { + "const": "welsh", + "title": "Welsh" + }, + { + "const": "danish", + "title": "Danish" + }, + { + "const": "german", + "title": "German" + }, + { + "const": "divehi; dhivehi; maldivian", + "title": "Divehi; Dhivehi; Maldivian" + }, + { + "const": "dzongkha", + "title": "Dzongkha" + }, + { + "const": "ewe", + "title": "Ewe" + }, + { + "const": "greek, modern (1453-)", + "title": "Greek, Modern (1453-)" + }, + { + "const": "english", + "title": "English" + }, + { + "const": "esperanto", + "title": "Esperanto" + }, + { + "const": "spanish; castilian", + "title": "Spanish; Castilian" + }, + { + "const": "estonian", + "title": "Estonian" + }, + { + "const": "basque", + "title": "Basque" + }, + { + "const": "persian", + "title": "Persian" + }, + { + "const": "fulah", + "title": "Fulah" + }, + { + "const": "finnish", + "title": "Finnish" + }, + { + "const": "fijian", + "title": "Fijian" + }, + { + "const": "faroese", + "title": "Faroese" + }, + { + "const": "french", + "title": "French" + }, + { + "const": "western frisian", + "title": "Western Frisian" + }, + { + "const": "irish", + "title": "Irish" + }, + { + "const": "gaelic; scottish gaelic", + "title": "Gaelic; Scottish Gaelic" + }, + { + "const": "galician", + "title": "Galician" + }, + { + "const": "guarani", + "title": "Guarani" + }, + { + "const": "gujarati", + "title": "Gujarati" + }, + { + "const": "manx", + "title": "Manx" + }, + { + "const": "hausa", + "title": "Hausa" + }, + { + "const": "hebrew", + "title": "Hebrew" + }, + { + "const": "hindi", + "title": "Hindi" + }, + { + "const": "hiri motu", + "title": "Hiri Motu" + }, + { + "const": "croatian", + "title": "Croatian" + }, + { + "const": "haitian; haitian creole", + "title": "Haitian; Haitian Creole" + }, + { + "const": "hungarian", + "title": "Hungarian" + }, + { + "const": "armenian", + "title": "Armenian" + }, + { + "const": "herero", + "title": "Herero" + }, + { + "const": "interlingua (international auxiliary language association)", + "title": "Interlingua (International Auxiliary Language Association)" + }, + { + "const": "indonesian", + "title": "Indonesian" + }, + { + "const": "interlingue; occidental", + "title": "Interlingue; Occidental" + }, + { + "const": "igbo", + "title": "Igbo" + }, + { + "const": "sichuan Yi; Nuosu", + "title": "Sichuan Yi; Nuosu" + }, + { + "const": "inupiaq", + "title": "Inupiaq" + }, + { + "const": "ido", + "title": "Ido" + }, + { + "const": "icelandic", + "title": "Icelandic" + }, + { + "const": "italian", + "title": "Italian" + }, + { + "const": "inuktitut", + "title": "Inuktitut" + }, + { + "const": "japanese", + "title": "Japanese" + }, + { + "const": "javanese", + "title": "Javanese" + }, + { + "const": "georgian", + "title": "Georgian" + }, + { + "const": "kongo", + "title": "Kongo" + }, + { + "const": "kikuyu; gikuyu", + "title": "Kikuyu; Gikuyu" + }, + { + "const": "kuanyama; kwanyama", + "title": "Kuanyama; Kwanyama" + }, + { + "const": "kazakh", + "title": "Kazakh" + }, + { + "const": "kalaallisut; greenlandic", + "title": "Kalaallisut; Greenlandic" + }, + { + "const": "central khmer", + "title": "Central Khmer" + }, + { + "const": "kannada", + "title": "Kannada" + }, + { + "const": "korean", + "title": "Korean" + }, + { + "const": "kanuri", + "title": "Kanuri" + }, + { + "const": "kashmiri", + "title": "Kashmiri" + }, + { + "const": "kurdish", + "title": "Kurdish" + }, + { + "const": "komi", + "title": "Komi" + }, + { + "const": "cornish", + "title": "Cornish" + }, + { + "const": "kirghiz; kyrgyz", + "title": "Kirghiz; Kyrgyz" + }, + { + "const": "latin", + "title": "Latin" + }, + { + "const": "luxembourgish; letzeburgesch", + "title": "Luxembourgish; Letzeburgesch" + }, + { + "const": "ganda", + "title": "Ganda" + }, + { + "const": "limburgan; limburger; limburgish", + "title": "Limburgan; Limburger; Limburgish" + }, + { + "const": "lingala", + "title": "Lingala" + }, + { + "const": "lao", + "title": "Lao" + }, + { + "const": "lithuanian", + "title": "Lithuanian" + }, + { + "const": "luba-katanga", + "title": "Luba-Katanga" + }, + { + "const": "latvian", + "title": "Latvian" + }, + { + "const": "malagasy", + "title": "Malagasy" + }, + { + "const": "marshallese", + "title": "Marshallese" + }, + { + "const": "maori", + "title": "Maori" + }, + { + "const": "macedonian", + "title": "Macedonian" + }, + { + "const": "malayalam", + "title": "Malayalam" + }, + { + "const": "mongolian", + "title": "Mongolian" + }, + { + "const": "marathi", + "title": "Marathi" + }, + { + "const": "malay", + "title": "Malay" + }, + { + "const": "maltese", + "title": "Maltese" + }, + { + "const": "burmese", + "title": "Burmese" + }, + { + "const": "nauru", + "title": "Nauru" + }, + { + "const": "bokmål, norwegian; norwegian bokmål", + "title": "Bokmål, Norwegian; Norwegian Bokmål" + }, + { + "const": "ndebele, north; north ndebele", + "title": "Ndebele, North; North Ndebele" + }, + { + "const": "nepali", + "title": "Nepali" + }, + { + "const": "ndonga", + "title": "Ndonga" + }, + { + "const": "dutch; flemish", + "title": "Dutch; Flemish" + }, + { + "const": "norwegian nynorsk; nynorsk, norwegian", + "title": "Norwegian Nynorsk; Nynorsk, Norwegian" + }, + { + "const": "norwegian", + "title": "Norwegian" + }, + { + "const": "ndebele, south; south ndebele", + "title": "Ndebele, South; South Ndebele" + }, + { + "const": "navajo; navaho", + "title": "Navajo; Navaho" + }, + { + "const": "chichewa; chewa; nyanja", + "title": "Chichewa; Chewa; Nyanja" + }, + { + "const": "occitan (post 1500)", + "title": "Occitan (post 1500)" + }, + { + "const": "ojibwa", + "title": "Ojibwa" + }, + { + "const": "oromo", + "title": "Oromo" + }, + { + "const": "oriya", + "title": "Oriya" + }, + { + "const": "ossetian; ossetic", + "title": "Ossetian; Ossetic" + }, + { + "const": "panjabi; punjabi", + "title": "Panjabi; Punjabi" + }, + { + "const": "pali", + "title": "Pali" + }, + { + "const": "polish", + "title": "Polish" + }, + { + "const": "pushto; pashto", + "title": "Pushto; Pashto" + }, + { + "const": "portuguese", + "title": "Portuguese" + }, + { + "const": "quechua", + "title": "Quechua" + }, + { + "const": "romansh", + "title": "Romansh" + }, + { + "const": "rundi", + "title": "Rundi" + }, + { + "const": "romanian; moldavian; moldovan", + "title": "Romanian; Moldavian; Moldovan" + }, + { + "const": "russian", + "title": "Russian" + }, + { + "const": "kinyarwanda", + "title": "Kinyarwanda" + }, + { + "const": "sanskrit", + "title": "Sanskrit" + }, + { + "const": "sardinian", + "title": "Sardinian" + }, + { + "const": "sindhi", + "title": "Sindhi" + }, + { + "const": "northern sami", + "title": "Northern Sami" + }, + { + "const": "sango", + "title": "Sango" + }, + { + "const": "sinhala; sinhalese", + "title": "Sinhala; Sinhalese" + }, + { + "const": "slovak", + "title": "Slovak" + }, + { + "const": "slovenian", + "title": "Slovenian" + }, + { + "const": "samoan", + "title": "Samoan" + }, + { + "const": "shona", + "title": "Shona" + }, + { + "const": "somali", + "title": "Somali" + }, + { + "const": "albanian", + "title": "Albanian" + }, + { + "const": "serbian", + "title": "Serbian" + }, + { + "const": "swati", + "title": "Swati" + }, + { + "const": "sotho, southern", + "title": "Sotho, Southern" + }, + { + "const": "sundanese", + "title": "Sundanese" + }, + { + "const": "swedish", + "title": "Swedish" + }, + { + "const": "swahili", + "title": "Swahili" + }, + { + "const": "tamil", + "title": "Tamil" + }, + { + "const": "telugu", + "title": "Telugu" + }, + { + "const": "tajik", + "title": "Tajik" + }, + { + "const": "thai", + "title": "Thai" + }, + { + "const": "tigrinya", + "title": "Tigrinya" + }, + { + "const": "turkmen", + "title": "Turkmen" + }, + { + "const": "tagalog", + "title": "Tagalog" + }, + { + "const": "tswana", + "title": "Tswana" + }, + { + "const": "tonga (tonga islands)", + "title": "Tonga (Tonga Islands)" + }, + { + "const": "turkish", + "title": "Turkish" + }, + { + "const": "tsonga", + "title": "Tsonga" + }, + { + "const": "tatar", + "title": "Tatar" + }, + { + "const": "twi", + "title": "Twi" + }, + { + "const": "tahitian", + "title": "Tahitian" + }, + { + "const": "uighur; uyghur", + "title": "Uighur; Uyghur" + }, + { + "const": "ukrainian", + "title": "Ukrainian" + }, + { + "const": "urdu", + "title": "Urdu" + }, + { + "const": "uzbek", + "title": "Uzbek" + }, + { + "const": "venda", + "title": "Venda" + }, + { + "const": "vietnamese", + "title": "Vietnamese" + }, + { + "const": "volapük", + "title": "Volapük" + }, + { + "const": "walloon", + "title": "Walloon" + }, + { + "const": "wolof", + "title": "Wolof" + }, + { + "const": "xhosa", + "title": "Xhosa" + }, + { + "const": "yiddish", + "title": "Yiddish" + }, + { + "const": "yoruba", + "title": "Yoruba" + }, + { + "const": "zhuang; chuang", + "title": "Zhuang; Chuang" + }, + { + "const": "chinese", + "title": "Chinese" + }, + { + "const": "zulu", + "title": "Zulu" + } + ] +} diff --git a/apps/workflows-dashboard/src/domains/ui-definitions/ui-definitions.types.ts b/apps/workflows-dashboard/src/domains/ui-definitions/ui-definitions.types.ts index 5e5edf6f89..b276aa6c1b 100644 --- a/apps/workflows-dashboard/src/domains/ui-definitions/ui-definitions.types.ts +++ b/apps/workflows-dashboard/src/domains/ui-definitions/ui-definitions.types.ts @@ -1,3 +1,5 @@ +import { IWorkflowDefinition } from '@/domains/workflow-definitions'; + export interface IUIDefinition { id: string; workflowDefinitionId: string; @@ -6,4 +8,5 @@ export interface IUIDefinition { uiSchema: object; locales?: object; createdAt: string; + workflowDefinition: IWorkflowDefinition; } diff --git a/apps/workflows-dashboard/src/pages/UIDefinitions/components/UIDefinitionsTable/columns.tsx b/apps/workflows-dashboard/src/pages/UIDefinitions/components/UIDefinitionsTable/columns.tsx index 0dcb9556c3..7eb8f1b87f 100644 --- a/apps/workflows-dashboard/src/pages/UIDefinitions/components/UIDefinitionsTable/columns.tsx +++ b/apps/workflows-dashboard/src/pages/UIDefinitions/components/UIDefinitionsTable/columns.tsx @@ -1,6 +1,10 @@ +import { Button } from '@/components/atoms/Button'; +import { Dialog, DialogContent, DialogTrigger } from '@/components/atoms/Dialog'; import { JSONViewButton } from '@/components/molecules/JSONViewButton'; import { IUIDefinition } from '@/domains/ui-definitions'; import { formatDate } from '@/utils/format-date'; +//@ts-ignore +import { Main as CollectionFlowPortable } from '@ballerine/kyb-app'; import { createColumnHelper } from '@tanstack/react-table'; import { Eye } from 'lucide-react'; @@ -57,6 +61,50 @@ export const uiDefinitionTableColumnns = [ }, header: () => 'Translations', }), + columnHelper.accessor('workflowDefinition', { + cell: info => { + const { config } = info.row.original.workflowDefinition; + const { uiSchema, definition, workflowDefinitionId } = info.row.original; + + return ( + + + + + + + + + ); + }, + header: () => 'Collection flow', + }), columnHelper.accessor('createdAt', { cell: info => formatDate(info.getValue()), header: () => 'Created At', diff --git a/apps/workflows-dashboard/src/router.tsx b/apps/workflows-dashboard/src/router.tsx index 933c918e47..b566bbfc9e 100644 --- a/apps/workflows-dashboard/src/router.tsx +++ b/apps/workflows-dashboard/src/router.tsx @@ -9,6 +9,5010 @@ import { WorkflowDefinition } from '@/pages/WorkflowDefinition'; import { WorkflowDefinitions } from '@/pages/WorkflowDefinitions'; import { Workflows } from '@/pages/Workflows'; import { createBrowserRouter, Navigate } from 'react-router-dom'; +//@ts-ignore +import { Main as CollectionFlowPortable } from '@ballerine/kyb-app'; +import '@ballerine/kyb-app/dist/collection-flow-portable/style.css'; + +console.log({ CollectionFlowPortable }); + +const schema = { + id: 'kyb_with_associated_companies_example', + config: { + isExample: true, + childCallbackResults: [ + { + definitionId: 'associated_company_child_workflow', + deliverEvent: 'ASSOCIATED_COMPANY_KYB_FINISHED', + transformers: [ + { + mapping: '{childEntity: entity.data}', + transformer: 'jmespath', + }, + ], + persistenceStates: ['manual_review'], + }, + { + definitionId: 'associated_company_child_workflow', + deliverEvent: 'ASSOCIATED_COMPANY_IN_PROGRESS', + transformers: [ + { + mapping: '{childEntity: entity.data}', + transformer: 'jmespath', + }, + ], + persistenceStates: ['pending_associated_kyb_collection_flow'], + }, + { + definitionId: 'associated_company_child_workflow', + deliverEvent: 'revision', + transformers: [ + { + mapping: '{childEntity: entity.data}', + transformer: 'jmespath', + }, + ], + persistenceStates: ['revision'], + }, + { + definitionId: 'kyc_child_workflow', + deliverEvent: 'KYC_RESPONDED', + transformers: [ + { + mapping: + '{childEntity: entity.data, vendorResult: pluginsOutput.kyc_session.kyc_session_1.result}', + transformer: 'jmespath', + }, + ], + persistenceStates: ['manual_review'], + }, + { + definitionId: 'kyc_child_workflow', + deliverEvent: 'KYC_IN_PROGRESS', + transformers: [ + { + mapping: + '{childEntity: entity.data, vendorResult: pluginsOutput.kyc_session.kyc_session_1.result}', + transformer: 'jmespath', + }, + ], + persistenceStates: ['pending_kyc_flow'], + }, + { + definitionId: 'kyc_child_workflow', + deliverEvent: 'KYC_REVISION', + transformers: [ + { + mapping: + '{childEntity: entity.data, vendorResult: pluginsOutput.kyc_session.kyc_session_1.result}', + transformer: 'jmespath', + }, + ], + persistenceStates: ['revision'], + }, + ], + isCaseOverviewEnabled: true, + workflowLevelResolution: true, + createCollectionFlowToken: true, + }, + uiSchema: { + elements: [ + { + name: 'Personal details', + type: 'page', + number: 1, + actions: [ + { + type: 'definitionPlugin', + params: { + pluginName: 'update_end_user', + }, + dispatchOn: { + rules: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + required: ['additionalInfo'], + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['mainRepresentative', 'iHaveSigningAuthority'], + properties: { + mainRepresentative: { + type: 'object', + required: [ + 'phone', + 'dateOfBirth', + 'firstName', + 'lastName', + 'additionalInfo', + ], + properties: { + phone: { + type: 'string', + pattern: '^[+]?[0-9]{10,15}$', + errorMessage: { + pattern: + 'Phone number must be 10 to 15 digits long and may start with a +.', + }, + }, + lastName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'First name must be at least 2 characters long.', + }, + }, + dateOfBirth: { + type: 'string', + errorMessage: { + type: 'Date of birth must be a string.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: ['jobTitle'], + properties: { + jobTitle: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'Job title must be at least 2 characters long.', + }, + }, + }, + errorMessage: { + required: { + jobTitle: 'Job title is required.', + }, + }, + }, + }, + errorMessage: { + required: { + phone: 'A valid phone number is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + dateOfBirth: 'Date of Birth is required.', + additionalInfo: 'Additional information is required.', + }, + }, + }, + iHaveSigningAuthority: { + enum: [true], + type: 'boolean', + errorMessage: { + enum: 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + errorMessage: { + required: { + iHaveSigningAuthority: + 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + uiEvents: [ + { + event: 'onClick', + uiElementName: 'next-page-button', + }, + ], + }, + }, + { + type: 'definitionEvent', + params: { + eventName: 'NEXT', + }, + dispatchOn: { + rules: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + required: ['additionalInfo'], + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['mainRepresentative', 'iHaveSigningAuthority'], + properties: { + mainRepresentative: { + type: 'object', + required: [ + 'phone', + 'dateOfBirth', + 'firstName', + 'lastName', + 'additionalInfo', + ], + properties: { + phone: { + type: 'string', + pattern: '^[+]?[0-9]{10,15}$', + errorMessage: { + pattern: + 'Phone number must be 10 to 15 digits long and may start with a +.', + }, + }, + lastName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'First name must be at least 2 characters long.', + }, + }, + dateOfBirth: { + type: 'string', + errorMessage: { + type: 'Date of birth must be a string.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: ['jobTitle'], + properties: { + jobTitle: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'Job title must be at least 2 characters long.', + }, + }, + }, + errorMessage: { + required: { + jobTitle: 'Job title is required.', + }, + }, + }, + }, + errorMessage: { + required: { + phone: 'A valid phone number is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + dateOfBirth: 'Date of Birth is required.', + additionalInfo: 'Additional information is required.', + }, + }, + }, + iHaveSigningAuthority: { + enum: [true], + type: 'boolean', + errorMessage: { + enum: 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + errorMessage: { + required: { + iHaveSigningAuthority: + 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + uiEvents: [ + { + event: 'onClick', + uiElementName: 'next-page-button', + }, + ], + }, + }, + ], + elements: [ + { + type: 'mainContainer', + elements: [ + { + type: 'container', + elements: [ + { + type: 'h1', + options: { + text: 'Personal Information', + }, + }, + ], + }, + { + name: 'json-form:personal-information', + type: 'json-form', + options: { + jsonFormDefinition: { + required: [ + 'first-name-input', + 'last-name-input', + 'job-title-input', + 'date-of-birth-input', + 'phone-number-input', + ], + }, + }, + elements: [ + { + name: 'first-name-input', + type: 'json-form:text', + options: { + hint: 'First Name', + label: 'Name', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.mainRepresentative.firstName', + }, + { + name: 'last-name-input', + type: 'json-form:text', + options: { + hint: 'Last Name', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.mainRepresentative.lastName', + }, + { + name: 'job-title-input', + type: 'json-form:text', + options: { + hint: 'CEO / Manager / Partner', + label: 'Title', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.mainRepresentative.additionalInfo.jobTitle', + }, + { + name: 'date-of-birth-input', + type: 'json-form:date', + options: { + hint: 'DD/MM/YYYY', + label: 'Date of Birth', + uiSchema: { + 'ui:field': 'DateInput', + 'ui:label': true, + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.mainRepresentative.dateOfBirth', + }, + { + name: 'phone-number-input', + type: 'international-phone-number', + options: { + label: 'Phone Number', + uiSchema: { + 'ui:field': 'PhoneInput', + 'ui:label': true, + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.mainRepresentative.phone', + }, + { + name: 'authority-checkbox', + type: 'authority-checkbox', + options: { + label: 'I have the signing authority for this company', + uiSchema: { + 'ui:label': false, + }, + jsonFormDefinition: { + type: 'boolean', + }, + }, + valueDestination: 'entity.data.additionalInfo.iHaveSigningAuthority', + }, + ], + availableOn: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + required: ['additionalInfo'], + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['mainRepresentative', 'iHaveSigningAuthority'], + properties: { + mainRepresentative: { + type: 'object', + required: [ + 'phone', + 'dateOfBirth', + 'firstName', + 'lastName', + 'additionalInfo', + ], + properties: { + phone: { + type: 'string', + pattern: '^[+]?[0-9]{10,15}$', + errorMessage: { + pattern: + 'Phone number must be 10 to 15 digits long and may start with a +.', + }, + }, + lastName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'First name must be at least 2 characters long.', + }, + }, + dateOfBirth: { + type: 'string', + errorMessage: { + type: 'Date of birth must be a string.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: ['jobTitle'], + properties: { + jobTitle: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'Job title must be at least 2 characters long.', + }, + }, + }, + errorMessage: { + required: { + jobTitle: 'Job title is required.', + }, + }, + }, + }, + errorMessage: { + required: { + phone: 'A valid phone number is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + dateOfBirth: 'Date of Birth is required.', + additionalInfo: 'Additional information is required.', + }, + }, + }, + iHaveSigningAuthority: { + enum: [true], + type: 'boolean', + errorMessage: { + enum: 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + errorMessage: { + required: { + iHaveSigningAuthority: + 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + valueDestination: 'entity.data.additionalInfo.mainRepresentative', + }, + { + name: 'controls-container', + type: 'container', + options: { + align: 'right', + }, + elements: [ + { + name: 'next-page-button', + type: 'submit-button', + options: { + text: 'Continue', + uiDefinition: { + classNames: ['align-right', 'padding-top-10'], + }, + }, + availableOn: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + required: ['additionalInfo'], + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['mainRepresentative', 'iHaveSigningAuthority'], + properties: { + mainRepresentative: { + type: 'object', + required: [ + 'phone', + 'dateOfBirth', + 'firstName', + 'lastName', + 'additionalInfo', + ], + properties: { + phone: { + type: 'string', + pattern: '^[+]?[0-9]{10,15}$', + errorMessage: { + pattern: + 'Phone number must be 10 to 15 digits long and may start with a +.', + }, + }, + lastName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'First name must be at least 2 characters long.', + }, + }, + dateOfBirth: { + type: 'string', + errorMessage: { + type: 'Date of birth must be a string.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: ['jobTitle'], + properties: { + jobTitle: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: + 'Job title must be at least 2 characters long.', + }, + }, + }, + errorMessage: { + required: { + jobTitle: 'Job title is required.', + }, + }, + }, + }, + errorMessage: { + required: { + phone: 'A valid phone number is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + dateOfBirth: 'Date of Birth is required.', + additionalInfo: 'Additional information is required.', + }, + }, + }, + iHaveSigningAuthority: { + enum: [true], + type: 'boolean', + errorMessage: { + enum: 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + errorMessage: { + required: { + iHaveSigningAuthority: + 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + ], + }, + ], + }, + ], + stateName: 'personal_details', + pageValidation: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + required: ['additionalInfo'], + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['mainRepresentative', 'iHaveSigningAuthority'], + properties: { + mainRepresentative: { + type: 'object', + required: [ + 'phone', + 'dateOfBirth', + 'firstName', + 'lastName', + 'additionalInfo', + ], + properties: { + phone: { + type: 'string', + pattern: '^[+]?[0-9]{10,15}$', + errorMessage: { + pattern: + 'Phone number must be 10 to 15 digits long and may start with a +.', + }, + }, + lastName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: 'First name must be at least 2 characters long.', + }, + }, + dateOfBirth: { + type: 'string', + errorMessage: { + type: 'Date of birth must be a string.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: ['jobTitle'], + properties: { + jobTitle: { + type: 'string', + minLength: 2, + errorMessage: { + minLength: 'Job title must be at least 2 characters long.', + }, + }, + }, + errorMessage: { + required: { + jobTitle: 'Job title is required.', + }, + }, + }, + }, + errorMessage: { + required: { + phone: 'A valid phone number is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + dateOfBirth: 'Date of Birth is required.', + additionalInfo: 'Additional information is required.', + }, + }, + }, + iHaveSigningAuthority: { + enum: [true], + type: 'boolean', + errorMessage: { + enum: 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + errorMessage: { + required: { + iHaveSigningAuthority: + 'You must be authorized to sign on behalf of the company.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + { + name: 'Company Information', + type: 'page', + number: 2, + actions: [ + { + type: 'definitionEvent', + params: { + eventName: 'NEXT', + }, + dispatchOn: { + rules: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + required: ['data'], + properties: { + data: { + type: 'object', + required: [ + 'additionalInfo', + 'businessType', + 'taxIdentificationNumber', + 'companyName', + 'country', + 'registrationNumber', + ], + properties: { + country: { + type: 'string', + pattern: '^[A-Z]{2}$', + maxLength: 2, + minLength: 2, + errorMessage: { + pattern: 'Please enter a valid country code.', + required: 'Country is required.', + maxLength: 'Country code should have exactly 2 characters.', + minLength: 'Country code should have exactly 2 characters.', + }, + }, + companyName: { + type: 'string', + maxLength: 100, + minLength: 2, + errorMessage: { + required: 'Company name is required.', + maxLength: 'Company name should not exceed 100 characters.', + minLength: 'Company name should have at least 2 characters.', + }, + }, + businessType: { + type: 'string', + maxLength: 100, + minLength: 3, + errorMessage: { + required: 'Business type is required.', + maxLength: 'Business type should not exceed 100 characters.', + minLength: 'Business type should have at least 3 characters.', + }, + }, + additionalInfo: { + type: 'object', + required: ['dateOfEstablishment'], + properties: { + dateOfEstablishment: { + type: 'string', + }, + }, + errorMessage: { + required: { + dateOfEstablishment: 'Date Of Establishment is required.', + }, + }, + }, + registrationNumber: { + type: 'string', + maxLength: 20, + minLength: 4, + errorMessage: { + required: 'Registration number is required.', + maxLength: 'Registration number should not exceed 20 characters.', + minLength: + 'Registration number should have at least 4 characters.', + }, + }, + taxIdentificationNumber: { + type: 'string', + pattern: '^[^\\s]*$', + maxLength: 15, + minLength: 8, + errorMessage: { + pattern: 'Tax ID must be in valid format.', + required: 'Tax identification number is required.', + maxLength: 'Tax ID should not exceed 15 characters.', + minLength: 'Tax ID should have at least 8 characters.', + }, + }, + }, + errorMessage: { + required: { + country: 'Country is required.', + companyName: 'Company name is required.', + businessType: 'Business type is required.', + additionalInfo: 'Additional information is required.', + numberOfEmployees: 'Number of employees is required.', + registrationNumber: 'Registration number is required.', + taxIdentificationNumber: 'Tax identification number is required.', + }, + }, + }, + }, + }, + }, + }, + }, + ], + uiEvents: [ + { + event: 'onClick', + uiElementName: 'next-page-button', + }, + ], + }, + }, + ], + elements: [ + { + type: 'mainContainer', + elements: [ + { + type: 'container', + elements: [ + { + type: 'h1', + options: { + text: 'Business Information', + }, + }, + ], + }, + { + name: 'business_info_form_p1', + type: 'json-form', + options: { + jsonFormDefinition: { + required: ['registration-number-input', 'country-picker-input'], + }, + }, + elements: [ + { + name: 'registration-number-input', + type: 'json-form:text', + options: { + hint: '1000000032985', + label: 'Registration Number', + jsonFormDefinition: { + type: 'string', + minLength: 1, + }, + }, + valueDestination: 'entity.data.registrationNumber', + }, + { + name: 'country-picker-input', + type: 'json-form:country-picker', + options: { + hint: 'Choose', + label: 'Country', + uiSchema: { + 'ui:field': 'CountryPicker', + 'ui:label': true, + 'ui:placeholder': 'Choose', + }, + jsonFormDefinition: { + type: 'string', + minLength: 1, + }, + }, + valueDestination: 'entity.data.country', + }, + ], + }, + { + name: 'business_info_form_p2', + type: 'json-form', + options: { + jsonFormDefinition: { + required: ['business_info_state_input'], + }, + }, + elements: [ + { + name: 'business_info_state_input', + type: 'json-form:text', + options: { + hint: 'California', + label: 'State', + uiSchema: { + 'ui:field': 'StatePicker', + }, + countryCodePath: 'entity.data.country', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.state', + }, + ], + visibleOn: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + required: ['data'], + properties: { + data: { + type: 'object', + default: {}, + required: ['country'], + properties: { + country: { + enum: ['AE', 'US', 'CA'], + type: 'string', + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + { + name: 'business_info_form_p3', + type: 'json-form', + options: { + jsonFormDefinition: { + required: [ + 'company-name-input', + 'tax-identification-number-input', + 'number-of-employees-input', + 'business-type-input', + 'registered-capital-in-yuan-type-input', + 'date-of-establishment-input', + ], + }, + }, + elements: [ + { + name: 'company-name-input', + type: 'json-form:text', + options: { + hint: 'English Name', + label: 'Company English Name', + jsonFormDefinition: { + type: 'string', + minLength: 1, + }, + }, + valueDestination: 'entity.data.companyName', + }, + { + name: 'tax-identification-number-input', + type: 'json-form:text', + options: { + hint: '1234567898765', + label: 'Tax Identity Number', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.taxIdentificationNumber', + }, + { + name: 'business-type-input', + type: 'json-form:dropdown', + options: { + hint: 'Choose', + label: 'Corporate type', + uiSchema: { + options: [ + { + const: 'sole_proprietorship', + title: 'Sole Proprietorship', + }, + { + const: 'partnership', + title: 'Partnership', + }, + { + const: 'corporation', + title: 'Corporation', + }, + { + const: 'limited_liability_company_(llc)', + title: 'Limited Liability Company (LLC)', + }, + { + const: 'limited_partnership_(lp)', + title: 'Limited Partnership (LP)', + }, + { + const: 'limited_liability_partnership_(llp)', + title: 'Limited Liability Partnership (LLP)', + }, + { + const: 'public_limited_company_(plc)', + title: 'Public Limited Company (PLC)', + }, + { + const: 'private_limited_company_(ltd)', + title: 'Private Limited Company (Ltd)', + }, + { + const: 'non-profit_organization', + title: 'Non-Profit Organization', + }, + { + const: 'cooperative', + title: 'Cooperative', + }, + { + const: 'trust', + title: 'Trust', + }, + { + const: 'government', + title: 'Government', + }, + { + const: 'other', + title: 'Other', + }, + ], + 'ui:field': 'AutocompleteInput', + 'ui:label': true, + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.businessType', + }, + { + name: 'date-of-establishment-input', + type: 'json-form:date', + options: { + hint: 'DD/MM/YYYY', + label: 'Date Of Establishment', + uiSchema: { + 'ui:field': 'DateInput', + 'ui:label': true, + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.dateOfEstablishment', + }, + ], + }, + { + name: 'controls-container', + type: 'container', + options: { + align: 'right', + }, + elements: [ + { + name: 'next-page-button', + type: 'submit-button', + options: { + text: 'Continue', + uiDefinition: { + classNames: ['align-right', 'padding-top-10'], + }, + }, + availableOn: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + required: ['data'], + properties: { + data: { + type: 'object', + required: [ + 'additionalInfo', + 'businessType', + 'taxIdentificationNumber', + 'companyName', + 'country', + 'registrationNumber', + ], + properties: { + country: { + type: 'string', + pattern: '^[A-Z]{2}$', + maxLength: 2, + minLength: 2, + errorMessage: { + pattern: 'Please enter a valid country code.', + required: 'Country is required.', + maxLength: 'Country code should have exactly 2 characters.', + minLength: 'Country code should have exactly 2 characters.', + }, + }, + companyName: { + type: 'string', + maxLength: 100, + minLength: 2, + errorMessage: { + required: 'Company name is required.', + maxLength: 'Company name should not exceed 100 characters.', + minLength: + 'Company name should have at least 2 characters.', + }, + }, + businessType: { + type: 'string', + maxLength: 100, + minLength: 3, + errorMessage: { + required: 'Business type is required.', + maxLength: + 'Business type should not exceed 100 characters.', + minLength: + 'Business type should have at least 3 characters.', + }, + }, + additionalInfo: { + type: 'object', + required: ['dateOfEstablishment'], + properties: { + dateOfEstablishment: { + type: 'string', + }, + }, + errorMessage: { + required: { + dateOfEstablishment: 'Date Of Establishment is required.', + }, + }, + }, + registrationNumber: { + type: 'string', + maxLength: 20, + minLength: 4, + errorMessage: { + required: 'Registration number is required.', + maxLength: + 'Registration number should not exceed 20 characters.', + minLength: + 'Registration number should have at least 4 characters.', + }, + }, + taxIdentificationNumber: { + type: 'string', + pattern: '^[^\\s]*$', + maxLength: 15, + minLength: 8, + errorMessage: { + pattern: 'Tax ID must be in valid format.', + required: 'Tax identification number is required.', + maxLength: 'Tax ID should not exceed 15 characters.', + minLength: 'Tax ID should have at least 8 characters.', + }, + }, + }, + errorMessage: { + required: { + country: 'Country is required.', + companyName: 'Company name is required.', + businessType: 'Business type is required.', + additionalInfo: 'Additional information is required.', + numberOfEmployees: 'Number of employees is required.', + registrationNumber: 'Registration number is required.', + taxIdentificationNumber: + 'Tax identification number is required.', + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + ], + }, + ], + }, + ], + stateName: 'company_information', + pageValidation: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + required: ['data'], + properties: { + data: { + type: 'object', + required: [ + 'additionalInfo', + 'businessType', + 'taxIdentificationNumber', + 'companyName', + 'country', + 'registrationNumber', + ], + properties: { + country: { + type: 'string', + pattern: '^[A-Z]{2}$', + maxLength: 2, + minLength: 2, + errorMessage: { + pattern: 'Please enter a valid country code.', + required: 'Country is required.', + maxLength: 'Country code should have exactly 2 characters.', + minLength: 'Country code should have exactly 2 characters.', + }, + }, + companyName: { + type: 'string', + maxLength: 100, + minLength: 2, + errorMessage: { + required: 'Company name is required.', + maxLength: 'Company name should not exceed 100 characters.', + minLength: 'Company name should have at least 2 characters.', + }, + }, + businessType: { + type: 'string', + maxLength: 100, + minLength: 3, + errorMessage: { + required: 'Business type is required.', + maxLength: 'Business type should not exceed 100 characters.', + minLength: 'Business type should have at least 3 characters.', + }, + }, + additionalInfo: { + type: 'object', + required: ['dateOfEstablishment'], + properties: { + dateOfEstablishment: { + type: 'string', + }, + }, + errorMessage: { + required: { + dateOfEstablishment: 'Date Of Establishment is required.', + }, + }, + }, + registrationNumber: { + type: 'string', + maxLength: 20, + minLength: 4, + errorMessage: { + required: 'Registration number is required.', + maxLength: 'Registration number should not exceed 20 characters.', + minLength: 'Registration number should have at least 4 characters.', + }, + }, + taxIdentificationNumber: { + type: 'string', + pattern: '^[^\\s]*$', + maxLength: 15, + minLength: 8, + errorMessage: { + pattern: 'Tax ID must be in valid format.', + required: 'Tax identification number is required.', + maxLength: 'Tax ID should not exceed 15 characters.', + minLength: 'Tax ID should have at least 8 characters.', + }, + }, + }, + errorMessage: { + required: { + country: 'Country is required.', + companyName: 'Company name is required.', + businessType: 'Business type is required.', + additionalInfo: 'Additional information is required.', + numberOfEmployees: 'Number of employees is required.', + registrationNumber: 'Registration number is required.', + taxIdentificationNumber: 'Tax identification number is required.', + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + { + name: 'Headquarters Address', + type: 'page', + number: 3, + actions: [ + { + type: 'definitionEvent', + params: { + eventName: 'NEXT', + }, + dispatchOn: { + rules: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['headquarters'], + properties: { + headquarters: { + type: 'object', + default: {}, + required: [ + 'street', + 'streetNumber', + 'city', + 'country', + 'postalCode', + 'phone', + ], + properties: { + city: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: 'City should not exceed 50 characters.', + minLength: 'City should be at least 2 characters long.', + }, + }, + phone: { + type: 'string', + pattern: '^[+]?[0-9]{10,15}$', + errorMessage: { + pattern: + 'Phone number must be 10 to 15 digits long and may start with a +.', + }, + }, + street: { + type: 'string', + maxLength: 100, + minLength: 3, + errorMessage: { + maxLength: 'Street should not exceed 100 characters.', + minLength: 'Street should be at least 3 characters long.', + }, + }, + country: { + type: 'string', + pattern: '^[A-Z]{2}$', + maxLength: 2, + minLength: 2, + errorMessage: { + pattern: 'Please enter a valid country code.', + maxLength: 'errorMessage.maxLength,country', + minLength: + 'Country code should have exactly 2 characters.', + }, + }, + postalCode: { + type: 'string', + }, + streetNumber: { + type: 'number', + maxLength: 10, + minLength: 1, + errorMessage: { + maxLength: + 'Street number should not exceed 10 characters.', + minLength: 'Street number is required.', + }, + }, + }, + errorMessage: { + required: { + city: 'City is required.', + phone: 'A valid phone number is required.', + street: 'Street is required.', + country: 'Country is required.', + postalCode: 'Postal code is required.', + streetNumber: 'Street number is required.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + uiEvents: [ + { + event: 'onClick', + uiElementName: 'next-page-button', + }, + ], + }, + }, + ], + elements: [ + { + type: 'mainContainer', + elements: [ + { + type: 'container', + elements: [ + { + type: 'h1', + options: { + text: 'Business Address', + }, + }, + { + type: 'h3', + options: { + text: 'Registered Address', + classNames: ['padding-top-10'], + }, + }, + ], + }, + { + name: 'business-address-form', + type: 'json-form', + options: { + jsonFormDefinition: { + required: [ + 'street-input', + 'street-number-input', + 'postal-code-input', + 'city-input', + 'country-input', + 'headquarters-phone-number-input', + ], + }, + }, + elements: [ + { + name: 'street-input', + type: 'json-form:text', + options: { + hint: 'Downing Street', + label: 'Street', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.headquarters.street', + }, + { + name: 'street-number-input', + type: 'json-form:text', + options: { + hint: '10', + label: 'Number', + jsonFormDefinition: { + type: 'number', + }, + }, + valueDestination: 'entity.data.additionalInfo.headquarters.streetNumber', + }, + { + name: 'postal-code-input', + type: 'json-form:text', + options: { + hint: '76131', + label: 'Postal code', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.headquarters.postalCode', + }, + { + name: 'city-input', + type: 'json-form:text', + options: { + hint: 'London', + label: 'City', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.headquarters.city', + }, + { + name: 'country-input', + type: 'json-form:country-picker', + options: { + hint: 'Choose', + label: 'Country', + uiSchema: { + 'ui:field': 'CountryPicker', + 'ui:label': true, + 'ui:placeholder': 'Choose', + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.headquarters.country', + }, + { + name: 'headquarters-phone-number-input', + type: 'international-phone-number', + options: { + label: 'Headquarters phone number', + uiSchema: { + 'ui:field': 'PhoneInput', + 'ui:label': true, + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.headquarters.phone', + }, + ], + }, + { + name: 'controls-container', + type: 'container', + options: { + align: 'right', + }, + elements: [ + { + name: 'next-page-button', + type: 'submit-button', + options: { + text: 'Continue', + uiDefinition: { + classNames: ['align-right', 'padding-top-10'], + }, + }, + availableOn: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['headquarters'], + properties: { + headquarters: { + type: 'object', + default: {}, + required: [ + 'street', + 'streetNumber', + 'city', + 'country', + 'postalCode', + 'phone', + ], + properties: { + city: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: 'City should not exceed 50 characters.', + minLength: + 'City should be at least 2 characters long.', + }, + }, + phone: { + type: 'string', + pattern: '^[+]?[0-9]{10,15}$', + errorMessage: { + pattern: + 'Phone number must be 10 to 15 digits long and may start with a +.', + }, + }, + street: { + type: 'string', + maxLength: 100, + minLength: 3, + errorMessage: { + maxLength: + 'Street should not exceed 100 characters.', + minLength: + 'Street should be at least 3 characters long.', + }, + }, + country: { + type: 'string', + pattern: '^[A-Z]{2}$', + maxLength: 2, + minLength: 2, + errorMessage: { + pattern: 'Please enter a valid country code.', + maxLength: 'errorMessage.maxLength,country', + minLength: + 'Country code should have exactly 2 characters.', + }, + }, + postalCode: { + type: 'string', + }, + streetNumber: { + type: 'number', + maxLength: 10, + minLength: 1, + errorMessage: { + maxLength: + 'Street number should not exceed 10 characters.', + minLength: 'Street number is required.', + }, + }, + }, + errorMessage: { + required: { + city: 'City is required.', + phone: 'A valid phone number is required.', + street: 'Street is required.', + country: 'Country is required.', + postalCode: 'Postal code is required.', + streetNumber: 'Street number is required.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + ], + }, + ], + }, + ], + stateName: 'business_address_information', + pageValidation: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['headquarters'], + properties: { + headquarters: { + type: 'object', + default: {}, + required: [ + 'street', + 'streetNumber', + 'city', + 'country', + 'postalCode', + 'phone', + ], + properties: { + city: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: 'City should not exceed 50 characters.', + minLength: 'City should be at least 2 characters long.', + }, + }, + phone: { + type: 'string', + pattern: '^[+]?[0-9]{10,15}$', + errorMessage: { + pattern: + 'Phone number must be 10 to 15 digits long and may start with a +.', + }, + }, + street: { + type: 'string', + maxLength: 100, + minLength: 3, + errorMessage: { + maxLength: 'Street should not exceed 100 characters.', + minLength: 'Street should be at least 3 characters long.', + }, + }, + country: { + type: 'string', + pattern: '^[A-Z]{2}$', + maxLength: 2, + minLength: 2, + errorMessage: { + pattern: 'Please enter a valid country code.', + maxLength: 'errorMessage.maxLength,country', + minLength: 'Country code should have exactly 2 characters.', + }, + }, + postalCode: { + type: 'string', + }, + streetNumber: { + type: 'number', + maxLength: 10, + minLength: 1, + errorMessage: { + maxLength: 'Street number should not exceed 10 characters.', + minLength: 'Street number is required.', + }, + }, + }, + errorMessage: { + required: { + city: 'City is required.', + phone: 'A valid phone number is required.', + street: 'Street is required.', + country: 'Country is required.', + postalCode: 'Postal code is required.', + streetNumber: 'Street number is required.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + { + name: 'Company Activity', + type: 'page', + number: 4, + actions: [ + { + type: 'definitionEvent', + params: { + eventName: 'NEXT', + }, + dispatchOn: { + rules: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['store'], + properties: { + store: { + type: 'object', + default: {}, + required: ['websiteUrls', 'industry'], + properties: { + industry: { + type: 'string', + minLength: 1, + errorMessage: { + minLength: 'errorMessage.minLength.industry', + }, + }, + websiteUrls: { + type: 'string', + pattern: + '^((https?):\\/\\/)?([a-zA-Z0-9-_]+\\.)+[a-zA-Z0-9]+(\\.[a-z]{2})?(\\/[a-zA-Z0-9_#-]+)*(\\/)?(\\?[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+(&[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+)*)?(#[a-zA-Z0-9_-]+)?(, *((https?):\\/\\/)?([a-zA-Z0-9-_]+\\.)+[a-zA-Z0-9]+(\\.[a-z]{2})?(\\/[a-zA-Z0-9_#-]+)*(\\/)?(\\?[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+(&[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+)*)?(#[a-zA-Z0-9_-]+)?)*$', + minLength: 1, + errorMessage: { + pattern: + 'Website URL(s) should be valid URL(s) separated by comma.', + minLength: 'Website URL(s) is required.', + }, + }, + processingDetails: { + type: 'object', + default: {}, + required: ['annualSalesVolume', 'businessModel'], + properties: { + businessModel: { + type: 'array', + items: { + type: 'string', + }, + minItems: 1, + errorMessage: 'Business Model is required.', + }, + annualSalesVolume: { + type: 'number', + minimum: 1, + errorMessage: 'Annual Sales Volume must be positive.', + }, + }, + errorMessage: { + required: { + businessModel: 'Website Business Model is required.', + annualSalesVolume: 'Monthly Sales Volume is required.', + }, + }, + }, + }, + errorMessage: { + required: { + industry: 'Industry is required.', + websiteUrls: 'Website URL(s) is required.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + uiEvents: [ + { + event: 'onClick', + uiElementName: 'next-page-button', + }, + ], + }, + }, + ], + elements: [ + { + type: 'mainContainer', + elements: [ + { + type: 'container', + elements: [ + { + type: 'h1', + options: { + text: 'Company Activity', + }, + }, + ], + }, + { + name: 'story-industry-input-form', + type: 'json-form', + options: { + jsonFormDefinition: { + required: ['store-industry-input'], + }, + }, + elements: [ + { + name: 'store-industry-input', + type: 'json-form:dropdown', + options: { + hint: 'Choose', + label: 'Industry', + uiSchema: { + 'ui:field': 'IndustriesPicker', + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.store.industry', + }, + ], + }, + { + type: 'h3', + options: { + text: 'Business Model', + }, + }, + { + name: 'business-model-input-form', + type: 'json-form', + options: {}, + elements: [ + { + name: 'business-model-input', + type: 'json-form:select', + options: { + uiSchema: { + options: [ + { + title: 'Membership', + value: 'Membership', + }, + { + title: 'Direct Purchase', + value: 'Direct Purchase', + }, + { + title: 'Other', + value: 'Other', + }, + ], + 'ui:field': 'CheckboxList', + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.store.processingDetails.businessModel', + }, + ], + }, + { + name: 'other-business-model-input-form', + type: 'json-form', + options: { + jsonFormDefinition: { + required: ['other-business-model-input'], + }, + }, + elements: [ + { + name: 'other-business-model-input', + type: 'json-form:text', + options: { + label: 'Business Model', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.store.processingDetails.otherBusinessModel', + }, + ], + visibleOn: [ + { + type: 'json-logic', + value: { + in: [ + 'Other', + { + var: 'entity.data.additionalInfo.store.processingDetails.businessModel', + }, + ], + }, + }, + ], + }, + { + name: 'sales-form', + type: 'json-form', + options: { + jsonFormDefinition: { + required: ['annual-sales-volume-input', 'store-website-urls-input'], + }, + }, + elements: [ + { + name: 'annual-sales-volume-input', + type: 'json-form:text', + options: { + hint: '5,000,000', + label: 'Annual Sales Volume (USD)', + jsonFormDefinition: { + type: 'number', + }, + }, + valueDestination: + 'entity.data.additionalInfo.store.processingDetails.annualSalesVolume', + }, + { + name: 'store-website-urls-input', + type: 'json-form:text', + options: { + hint: 'www.example.cn', + label: 'Website URLs (divide with comma if more than one)', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.store.websiteUrls', + }, + ], + }, + { + name: 'controls-container', + type: 'container', + options: { + align: 'right', + }, + elements: [ + { + name: 'next-page-button', + type: 'submit-button', + options: { + text: 'Continue', + uiDefinition: { + classNames: ['align-right', 'padding-top-10'], + }, + }, + availableOn: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['store'], + properties: { + store: { + type: 'object', + default: {}, + required: ['websiteUrls', 'industry'], + properties: { + industry: { + type: 'string', + minLength: 1, + errorMessage: { + minLength: 'errorMessage.minLength.industry', + }, + }, + websiteUrls: { + type: 'string', + pattern: + '^((https?):\\/\\/)?([a-zA-Z0-9-_]+\\.)+[a-zA-Z0-9]+(\\.[a-z]{2})?(\\/[a-zA-Z0-9_#-]+)*(\\/)?(\\?[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+(&[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+)*)?(#[a-zA-Z0-9_-]+)?(, *((https?):\\/\\/)?([a-zA-Z0-9-_]+\\.)+[a-zA-Z0-9]+(\\.[a-z]{2})?(\\/[a-zA-Z0-9_#-]+)*(\\/)?(\\?[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+(&[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+)*)?(#[a-zA-Z0-9_-]+)?)*$', + minLength: 1, + errorMessage: { + pattern: + 'Website URL(s) should be valid URL(s) separated by comma.', + minLength: 'Website URL(s) is required.', + }, + }, + processingDetails: { + type: 'object', + default: {}, + required: ['annualSalesVolume', 'businessModel'], + properties: { + businessModel: { + type: 'array', + items: { + type: 'string', + }, + minItems: 1, + errorMessage: 'Business Model is required.', + }, + annualSalesVolume: { + type: 'number', + minimum: 1, + errorMessage: + 'Annual Sales Volume must be positive.', + }, + }, + errorMessage: { + required: { + businessModel: + 'Website Business Model is required.', + annualSalesVolume: + 'Monthly Sales Volume is required.', + }, + }, + }, + }, + errorMessage: { + required: { + industry: 'Industry is required.', + websiteUrls: 'Website URL(s) is required.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + ], + }, + ], + }, + ], + stateName: 'company_activity', + pageValidation: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['store'], + properties: { + store: { + type: 'object', + default: {}, + required: ['websiteUrls', 'industry'], + properties: { + industry: { + type: 'string', + minLength: 1, + errorMessage: { + minLength: 'errorMessage.minLength.industry', + }, + }, + websiteUrls: { + type: 'string', + pattern: + '^((https?):\\/\\/)?([a-zA-Z0-9-_]+\\.)+[a-zA-Z0-9]+(\\.[a-z]{2})?(\\/[a-zA-Z0-9_#-]+)*(\\/)?(\\?[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+(&[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+)*)?(#[a-zA-Z0-9_-]+)?(, *((https?):\\/\\/)?([a-zA-Z0-9-_]+\\.)+[a-zA-Z0-9]+(\\.[a-z]{2})?(\\/[a-zA-Z0-9_#-]+)*(\\/)?(\\?[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+(&[a-zA-Z0-9_-]+=[a-zA-Z0-9_-]+)*)?(#[a-zA-Z0-9_-]+)?)*$', + minLength: 1, + errorMessage: { + pattern: + 'Website URL(s) should be valid URL(s) separated by comma.', + minLength: 'Website URL(s) is required.', + }, + }, + processingDetails: { + type: 'object', + default: {}, + required: ['annualSalesVolume', 'businessModel'], + properties: { + businessModel: { + type: 'array', + items: { + type: 'string', + }, + minItems: 1, + errorMessage: 'Business Model is required.', + }, + annualSalesVolume: { + type: 'number', + minimum: 1, + errorMessage: 'Annual Sales Volume must be positive.', + }, + }, + errorMessage: { + required: { + businessModel: 'Website Business Model is required.', + annualSalesVolume: 'Monthly Sales Volume is required.', + }, + }, + }, + }, + errorMessage: { + required: { + industry: 'Industry is required.', + websiteUrls: 'Website URL(s) is required.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + { + name: 'Bank Information', + type: 'page', + number: 5, + actions: [ + { + type: 'definitionEvent', + params: { + eventName: 'NEXT', + }, + dispatchOn: { + rules: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + default: {}, + required: ['data'], + properties: { + data: { + type: 'object', + default: {}, + required: ['additionalInfo'], + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['bankInformation'], + properties: { + bankInformation: { + type: 'object', + default: {}, + required: [ + 'country', + 'name', + 'holderName', + 'accountNumber', + 'currencyCode', + ], + properties: { + name: { + type: 'string', + }, + country: { + type: 'string', + }, + holderName: { + type: 'string', + }, + currencyCode: { + type: 'string', + }, + accountNumber: { + type: 'string', + }, + }, + errorMessage: { + required: { + name: 'Bank name is required.', + country: 'Bank Country is required.', + holderName: 'Holder name is required.', + currencyCode: 'Account currency is required', + accountNumber: 'Account number is required.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + uiEvents: [ + { + event: 'onClick', + uiElementName: 'next-page-button', + }, + ], + }, + }, + ], + elements: [ + { + type: 'mainContainer', + elements: [ + { + type: 'container', + elements: [ + { + type: 'h1', + options: { + text: 'Bank Information', + }, + }, + ], + }, + { + name: 'bank-information-form', + type: 'json-form', + options: { + jsonFormDefinition: { + required: [ + 'bank-country-input', + 'bank-name-input', + 'account-holder-name-input', + 'account-number-input', + 'account-currency-input', + ], + }, + }, + elements: [ + { + name: 'bank-country-input', + type: 'dropdown', + options: { + hint: 'United Kingdom', + label: 'Bank Country', + uiSchema: { + 'ui:field': 'CountryPicker', + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.bankInformation.country', + }, + { + name: 'bank-name-input', + type: 'text-field', + options: { + hint: 'Hong Kong Bank', + label: 'Bank Name', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.bankInformation.name', + }, + { + name: 'account-holder-name-input', + type: 'text-field', + options: { + hint: 'OpenAI Technologies, Inc.', + label: 'Account Holder Name', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.bankInformation.holderName', + }, + { + name: 'account-number-input', + type: 'text-field', + options: { + hint: '0123456789', + label: 'Account Number', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.bankInformation.accountNumber', + }, + { + name: 'account-currency-input', + type: 'text-field', + options: { + hint: 'GBP', + label: 'Account Currency', + jsonFormDefinition: { + type: 'string', + oneOf: [ + { + const: 'AED', + title: 'AED', + }, + { + const: 'AFN', + title: 'AFN', + }, + { + const: 'ALL', + title: 'ALL', + }, + { + const: 'AMD', + title: 'AMD', + }, + { + const: 'ANG', + title: 'ANG', + }, + { + const: 'AOA', + title: 'AOA', + }, + { + const: 'ARS', + title: 'ARS', + }, + { + const: 'AUD', + title: 'AUD', + }, + { + const: 'AWG', + title: 'AWG', + }, + { + const: 'AZN', + title: 'AZN', + }, + { + const: 'BAM', + title: 'BAM', + }, + { + const: 'BBD', + title: 'BBD', + }, + { + const: 'BDT', + title: 'BDT', + }, + { + const: 'BGN', + title: 'BGN', + }, + { + const: 'BHD', + title: 'BHD', + }, + { + const: 'BIF', + title: 'BIF', + }, + { + const: 'BMD', + title: 'BMD', + }, + { + const: 'BND', + title: 'BND', + }, + { + const: 'BOB', + title: 'BOB', + }, + { + const: 'BOV', + title: 'BOV', + }, + { + const: 'BRL', + title: 'BRL', + }, + { + const: 'BSD', + title: 'BSD', + }, + { + const: 'BTN', + title: 'BTN', + }, + { + const: 'BWP', + title: 'BWP', + }, + { + const: 'BYN', + title: 'BYN', + }, + { + const: 'BZD', + title: 'BZD', + }, + { + const: 'CAD', + title: 'CAD', + }, + { + const: 'CDF', + title: 'CDF', + }, + { + const: 'CHE', + title: 'CHE', + }, + { + const: 'CHF', + title: 'CHF', + }, + { + const: 'CHW', + title: 'CHW', + }, + { + const: 'CLF', + title: 'CLF', + }, + { + const: 'CLP', + title: 'CLP', + }, + { + const: 'CNY', + title: 'CNY', + }, + { + const: 'COP', + title: 'COP', + }, + { + const: 'COU', + title: 'COU', + }, + { + const: 'CRC', + title: 'CRC', + }, + { + const: 'CUC', + title: 'CUC', + }, + { + const: 'CUP', + title: 'CUP', + }, + { + const: 'CVE', + title: 'CVE', + }, + { + const: 'CZK', + title: 'CZK', + }, + { + const: 'DJF', + title: 'DJF', + }, + { + const: 'DKK', + title: 'DKK', + }, + { + const: 'DOP', + title: 'DOP', + }, + { + const: 'DZD', + title: 'DZD', + }, + { + const: 'EGP', + title: 'EGP', + }, + { + const: 'ERN', + title: 'ERN', + }, + { + const: 'ETB', + title: 'ETB', + }, + { + const: 'EUR', + title: 'EUR', + }, + { + const: 'FJD', + title: 'FJD', + }, + { + const: 'FKP', + title: 'FKP', + }, + { + const: 'GBP', + title: 'GBP', + }, + { + const: 'GEL', + title: 'GEL', + }, + { + const: 'GHS', + title: 'GHS', + }, + { + const: 'GIP', + title: 'GIP', + }, + { + const: 'GMD', + title: 'GMD', + }, + { + const: 'GNF', + title: 'GNF', + }, + { + const: 'GTQ', + title: 'GTQ', + }, + { + const: 'GYD', + title: 'GYD', + }, + { + const: 'HKD', + title: 'HKD', + }, + { + const: 'HNL', + title: 'HNL', + }, + { + const: 'HRK', + title: 'HRK', + }, + { + const: 'HTG', + title: 'HTG', + }, + { + const: 'HUF', + title: 'HUF', + }, + { + const: 'IDR', + title: 'IDR', + }, + { + const: 'ILS', + title: 'ILS', + }, + { + const: 'INR', + title: 'INR', + }, + { + const: 'IQD', + title: 'IQD', + }, + { + const: 'IRR', + title: 'IRR', + }, + { + const: 'ISK', + title: 'ISK', + }, + { + const: 'JMD', + title: 'JMD', + }, + { + const: 'JOD', + title: 'JOD', + }, + { + const: 'JPY', + title: 'JPY', + }, + { + const: 'KES', + title: 'KES', + }, + { + const: 'KGS', + title: 'KGS', + }, + { + const: 'KHR', + title: 'KHR', + }, + { + const: 'KMF', + title: 'KMF', + }, + { + const: 'KPW', + title: 'KPW', + }, + { + const: 'KRW', + title: 'KRW', + }, + { + const: 'KWD', + title: 'KWD', + }, + { + const: 'KYD', + title: 'KYD', + }, + { + const: 'KZT', + title: 'KZT', + }, + { + const: 'LAK', + title: 'LAK', + }, + { + const: 'LBP', + title: 'LBP', + }, + { + const: 'LKR', + title: 'LKR', + }, + { + const: 'LRD', + title: 'LRD', + }, + { + const: 'LSL', + title: 'LSL', + }, + { + const: 'LYD', + title: 'LYD', + }, + { + const: 'MAD', + title: 'MAD', + }, + { + const: 'MDL', + title: 'MDL', + }, + { + const: 'MGA', + title: 'MGA', + }, + { + const: 'MKD', + title: 'MKD', + }, + { + const: 'MMK', + title: 'MMK', + }, + { + const: 'MNT', + title: 'MNT', + }, + { + const: 'MOP', + title: 'MOP', + }, + { + const: 'MRU', + title: 'MRU', + }, + { + const: 'MUR', + title: 'MUR', + }, + { + const: 'MVR', + title: 'MVR', + }, + { + const: 'MWK', + title: 'MWK', + }, + { + const: 'MXN', + title: 'MXN', + }, + { + const: 'MXV', + title: 'MXV', + }, + { + const: 'MYR', + title: 'MYR', + }, + { + const: 'MZN', + title: 'MZN', + }, + { + const: 'NAD', + title: 'NAD', + }, + { + const: 'NGN', + title: 'NGN', + }, + { + const: 'NIO', + title: 'NIO', + }, + { + const: 'NOK', + title: 'NOK', + }, + { + const: 'NPR', + title: 'NPR', + }, + { + const: 'NZD', + title: 'NZD', + }, + { + const: 'OMR', + title: 'OMR', + }, + { + const: 'PAB', + title: 'PAB', + }, + { + const: 'PEN', + title: 'PEN', + }, + { + const: 'PGK', + title: 'PGK', + }, + { + const: 'PHP', + title: 'PHP', + }, + { + const: 'PKR', + title: 'PKR', + }, + { + const: 'PLN', + title: 'PLN', + }, + { + const: 'PYG', + title: 'PYG', + }, + { + const: 'QAR', + title: 'QAR', + }, + { + const: 'RON', + title: 'RON', + }, + { + const: 'RSD', + title: 'RSD', + }, + { + const: 'RUB', + title: 'RUB', + }, + { + const: 'RWF', + title: 'RWF', + }, + { + const: 'SAR', + title: 'SAR', + }, + { + const: 'SBD', + title: 'SBD', + }, + { + const: 'SCR', + title: 'SCR', + }, + { + const: 'SDG', + title: 'SDG', + }, + { + const: 'SEK', + title: 'SEK', + }, + { + const: 'SGD', + title: 'SGD', + }, + { + const: 'SHP', + title: 'SHP', + }, + { + const: 'SLL', + title: 'SLL', + }, + { + const: 'SOS', + title: 'SOS', + }, + { + const: 'SRD', + title: 'SRD', + }, + { + const: 'SSP', + title: 'SSP', + }, + { + const: 'STN', + title: 'STN', + }, + { + const: 'SVC', + title: 'SVC', + }, + { + const: 'SYP', + title: 'SYP', + }, + { + const: 'SZL', + title: 'SZL', + }, + { + const: 'THB', + title: 'THB', + }, + { + const: 'TJS', + title: 'TJS', + }, + { + const: 'TMT', + title: 'TMT', + }, + { + const: 'TND', + title: 'TND', + }, + { + const: 'TOP', + title: 'TOP', + }, + { + const: 'TRY', + title: 'TRY', + }, + { + const: 'TTD', + title: 'TTD', + }, + { + const: 'TWD', + title: 'TWD', + }, + { + const: 'TZS', + title: 'TZS', + }, + { + const: 'UAH', + title: 'UAH', + }, + { + const: 'UGX', + title: 'UGX', + }, + { + const: 'USD', + title: 'USD', + }, + { + const: 'USN', + title: 'USN', + }, + { + const: 'UYI', + title: 'UYI', + }, + { + const: 'UYU', + title: 'UYU', + }, + { + const: 'UYW', + title: 'UYW', + }, + { + const: 'UZS', + title: 'UZS', + }, + { + const: 'VES', + title: 'VES', + }, + { + const: 'VND', + title: 'VND', + }, + { + const: 'VUV', + title: 'VUV', + }, + { + const: 'WST', + title: 'WST', + }, + { + const: 'XAF', + title: 'XAF', + }, + { + const: 'XAG', + title: 'XAG', + }, + { + const: 'XAU', + title: 'XAU', + }, + { + const: 'XBA', + title: 'XBA', + }, + { + const: 'XBB', + title: 'XBB', + }, + { + const: 'XBC', + title: 'XBC', + }, + { + const: 'XBD', + title: 'XBD', + }, + { + const: 'XCD', + title: 'XCD', + }, + { + const: 'XDR', + title: 'XDR', + }, + { + const: 'XOF', + title: 'XOF', + }, + { + const: 'XPD', + title: 'XPD', + }, + { + const: 'XPF', + title: 'XPF', + }, + { + const: 'XPT', + title: 'XPT', + }, + { + const: 'XSU', + title: 'XSU', + }, + { + const: 'XTS', + title: 'XTS', + }, + { + const: 'XUA', + title: 'XUA', + }, + { + const: 'XXX', + title: 'XXX', + }, + { + const: 'YER', + title: 'YER', + }, + { + const: 'ZAR', + title: 'ZAR', + }, + { + const: 'ZMW', + title: 'ZMW', + }, + { + const: 'ZWL', + title: 'ZWL', + }, + ], + }, + }, + valueDestination: 'entity.data.additionalInfo.bankInformation.currencyCode', + }, + ], + }, + { + name: 'contact-controls-container', + type: 'container', + options: { + align: 'right', + }, + elements: [ + { + name: 'next-page-button', + type: 'submit-button', + options: { + text: 'Continue', + uiDefinition: { + classNames: ['align-right', 'padding-top-10'], + }, + }, + availableOn: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + default: {}, + required: ['data'], + properties: { + data: { + type: 'object', + default: {}, + required: ['additionalInfo'], + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['bankInformation'], + properties: { + bankInformation: { + type: 'object', + default: {}, + required: [ + 'country', + 'name', + 'holderName', + 'accountNumber', + 'currencyCode', + ], + properties: { + name: { + type: 'string', + }, + country: { + type: 'string', + }, + holderName: { + type: 'string', + }, + currencyCode: { + type: 'string', + }, + accountNumber: { + type: 'string', + }, + }, + errorMessage: { + required: { + name: 'Bank name is required.', + country: 'Bank Country is required.', + holderName: 'Holder name is required.', + currencyCode: 'Account currency is required', + accountNumber: 'Account number is required.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + ], + }, + ], + }, + ], + stateName: 'bank_information', + pageValidation: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + default: {}, + required: ['data'], + properties: { + data: { + type: 'object', + default: {}, + required: ['additionalInfo'], + properties: { + additionalInfo: { + type: 'object', + default: {}, + required: ['bankInformation'], + properties: { + bankInformation: { + type: 'object', + default: {}, + required: [ + 'country', + 'name', + 'holderName', + 'accountNumber', + 'currencyCode', + ], + properties: { + name: { + type: 'string', + }, + country: { + type: 'string', + }, + holderName: { + type: 'string', + }, + currencyCode: { + type: 'string', + }, + accountNumber: { + type: 'string', + }, + }, + errorMessage: { + required: { + name: 'Bank name is required.', + country: 'Bank Country is required.', + holderName: 'Holder name is required.', + currencyCode: 'Account currency is required', + accountNumber: 'Account number is required.', + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + { + name: 'Company Ownership', + type: 'page', + number: 6, + actions: [ + { + type: 'definitionEvent', + params: { + eventName: 'NEXT', + }, + dispatchOn: { + rules: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + properties: { + additionalInfo: { + if: { + properties: { + thereNoCompaniesWithMoreThan25: { + enum: [true], + }, + }, + }, + else: { + required: ['ubos', 'associatedCompanies'], + properties: { + associatedCompanies: { + minItems: 1, + }, + }, + errorMessage: { + required: { + ubos: 'UBOs are required.', + associatedCompanies: 'Mark the checkbox or add a company.', + }, + }, + }, + then: { + required: ['ubos'], + errorMessage: { + required: { + ubos: 'UBOs are required.', + }, + }, + }, + type: 'object', + default: {}, + properties: { + ubos: { + type: 'array', + items: { + type: 'object', + required: ['firstName', 'lastName', 'email'], + properties: { + email: { + type: 'string', + format: 'email', + maxLength: 100, + errorMessage: { + format: 'Invalid email address.', + maxLength: 'Email should not exceed 100 characters.', + }, + }, + lastName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: 'Last name should not exceed 50 characters.', + minLength: + 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: + 'First name should not exceed 50 characters.', + minLength: + 'First name must be at least 2 characters long.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: ['role', 'dateOfBirth'], + properties: { + role: { + type: 'string', + }, + dateOfBirth: { + type: 'string', + }, + }, + errorMessage: { + required: { + role: 'This field is required.', + dateOfBirth: 'This field is required.', + }, + }, + }, + }, + errorMessage: { + required: { + email: 'Email is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + }, + }, + }, + minItems: 1, + errorMessage: { + minItems: 'UBOs are required.', + }, + }, + associatedCompanies: { + type: 'array', + items: { + type: 'object', + required: ['registrationNumber', 'country', 'companyName'], + properties: { + country: { + type: 'string', + pattern: '^[A-Z]{2}$', + maxLength: 2, + minLength: 2, + errorMessage: { + pattern: 'errorMessage.maxLength.pattern', + maxLength: + 'Country code should have exactly 2 characters.', + minLength: + 'Country code should have exactly 2 characters.', + }, + }, + companyName: { + type: 'string', + maxLength: 100, + minLength: 2, + errorMessage: { + maxLength: + 'Company name should not exceed 100 characters.', + minLength: + 'Company name should have at least 2 characters.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: [ + 'associationRelationship', + 'mainRepresentative', + ], + properties: { + mainRepresentative: { + type: 'object', + default: {}, + required: ['firstName', 'lastName', 'email'], + properties: { + email: { + type: 'string', + format: 'email', + maxLength: 100, + errorMessage: { + format: 'Invalid email address.', + maxLength: + 'Email should not exceed 100 characters.', + }, + }, + lastName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: + 'Last name should not exceed 50 characters.', + minLength: + 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: + 'First name should not exceed 50 characters.', + minLength: + 'First name must be at least 2 characters long.', + }, + }, + }, + errorMessage: { + required: { + email: 'Email is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + }, + }, + }, + associationRelationship: { + type: 'string', + }, + }, + errorMessage: { + required: { + mainRepresentative: 'This field is required.', + associationRelationship: 'This field is required.', + }, + }, + }, + registrationNumber: { + type: 'string', + maxLength: 20, + minLength: 4, + errorMessage: { + maxLength: + 'errorMessage.maxLength.companyRegistrationNumber', + minLength: + 'errorMessage.minLength.companyRegistrationNumber', + }, + }, + }, + errorMessage: { + required: { + country: 'Country is required.', + companyName: 'Company name is required.', + registrationNumber: + 'Company registration number is required.', + }, + }, + }, + errorMessage: { + minItems: 'Mark the checkbox or add a company.', + }, + }, + thereNoCompaniesWithMoreThan25: { + type: 'boolean', + default: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + uiEvents: [ + { + event: 'onClick', + uiElementName: 'next-page-button', + }, + ], + }, + }, + ], + elements: [ + { + type: 'mainContainer', + elements: [ + { + type: 'container', + elements: [ + { + type: 'h1', + options: { + text: 'Company Ownership', + }, + }, + { + type: 'h3', + options: { + text: 'Shareholders', + classNames: ['padding-top-10'], + }, + }, + ], + }, + { + name: 'im-shareholder-checkbox-form', + type: 'json-form', + options: { + jsonFormDefinition: { + required: ['im-shareholder-checkbox'], + }, + }, + elements: [ + { + name: 'im-shareholder-checkbox', + type: 'checkbox', + options: { + label: 'I own 25% or more of the company', + uiSchema: { + 'ui:label': false, + }, + jsonFormDefinition: { + type: 'boolean', + }, + }, + valueDestination: 'entity.data.additionalInfo.imShareholder', + }, + ], + }, + { + name: 'checkbox-description-1', + type: 'description', + options: { + descriptionRaw: + 'Add all of the natural persons that own or control,
directly or indirectly more than 25% of the company.', + }, + }, + { + name: 'ubos-form', + type: 'json-form', + options: { + uiSchema: { + titleTemplate: 'UBO {{INDEX}}', + }, + description: + 'Add all of the natural persons that own or control,
directly or indirectly more than 25% of the company.', + insertionParams: { + schema: { + email: 'entity.data.additionalInfo.mainRepresentative.email', + lastName: 'entity.data.additionalInfo.mainRepresentative.lastName', + firstName: 'entity.data.additionalInfo.mainRepresentative.firstName', + }, + insertWhen: [ + { + type: 'json-logic', + value: { + '==': [ + { + var: 'entity.data.additionalInfo.imShareholder', + }, + true, + ], + }, + }, + ], + removeWhen: [ + { + type: 'json-logic', + value: { + if: [ + { + var: 'entity.data.additionalInfo.imShareholder', + }, + false, + true, + ], + }, + }, + ], + destination: 'entity.data.additionalInfo.ubos', + disableElements: [ + { + atIndex: 0, + elementName: 'ubos:first-name-input', + }, + { + atIndex: 0, + elementName: 'ubos:last-name-input', + }, + { + atIndex: 0, + elementName: 'ubos:email-input', + }, + ], + insertionStrategy: 'array', + bindingAnchorDestination: 'additionalInfo.__isGeneratedAutomatically', + }, + jsonFormDefinition: { + type: 'array', + title: 'Shareholder', + required: [ + 'ubos:first-name-input', + 'ubos:last-name-input', + 'ubos:title-input', + 'ubos:email-input', + 'ubos:date-of-birth-input', + ], + }, + }, + elements: [ + { + name: 'ubos:first-name-input', + type: 'json-form:text', + options: { + hint: 'First Name', + label: 'First Name', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.ubos[{INDEX}].firstName', + }, + { + name: 'ubos:last-name-input', + type: 'json-form:text', + options: { + hint: 'Last Name', + label: 'Last Name', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'entity.data.additionalInfo.ubos[{INDEX}].lastName', + }, + { + name: 'ubos:title-input', + type: 'json-form:text', + options: { + hint: 'CEO / Manager / Partner', + label: 'Title', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.ubos[{INDEX}].additionalInfo.role', + }, + { + name: 'ubos:date-of-birth-input', + type: 'json-form:date', + options: { + hint: 'DD/MM/YYYY', + label: 'Date of Birth', + uiSchema: { + 'ui:field': 'DateInput', + 'ui:label': true, + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.ubos[{INDEX}].additionalInfo.dateOfBirth', + }, + { + name: 'ubos:email-input', + type: 'json-form:email', + options: { + hint: 'name@companyhk.com', + label: 'Email', + jsonFormDefinition: { + type: 'string', + format: 'email', + }, + }, + valueDestination: 'entity.data.additionalInfo.ubos[{INDEX}].email', + }, + ], + valueDestination: 'entity.data.additionalInfo.ubos', + }, + { + type: 'divider', + }, + { + type: 'h3', + options: { + text: 'Associated companies', + classNames: ['padding-top-10'], + }, + }, + { + type: 'description', + options: { + descriptionRaw: 'Add all companies that own more than 25% of the company.', + }, + }, + { + name: 'there-no-companies-with-more-than-25-form', + type: 'json-form', + elements: [ + { + name: 'there-no-companies-with-more-than-25', + type: 'checkbox', + options: { + label: 'There are no companies with more than 25%', + uiSchema: { + 'ui:label': false, + }, + jsonFormDefinition: { + type: 'boolean', + }, + }, + availableOn: [ + { + type: 'json-logic', + value: { + if: [ + { + '>=': [ + { + var: 'entity.data.additionalInfo.associatedCompanies.length', + }, + 1, + ], + }, + false, + true, + ], + }, + }, + ], + valueDestination: 'entity.data.additionalInfo.thereNoCompaniesWithMoreThan25', + }, + ], + }, + { + name: 'companies-form', + type: 'json-form', + options: { + canAdd: [ + { + type: 'json-logic', + value: { + '!==': [ + { + var: 'entity.data.additionalInfo.thereNoCompaniesWithMoreThan25', + }, + true, + false, + ], + }, + }, + ], + uiSchema: { + titleTemplate: 'Associated company {{INDEX}}', + }, + description: + 'Add all of the natural persons that own or control,
directly or indirectly more than 25% of the company.', + jsonFormDefinition: { + type: 'array', + title: 'Shareholder', + required: [ + 'associatedCompanies:company-registration-number-input', + 'associatedCompanies:company-country-input', + 'associatedCompanies:company-legal-name-input', + 'associatedCompanies:company-association-relationship-input', + 'associatedCompanies:company-main-representative-first-name-input', + 'associatedCompanies:company-main-representative-last-name-input', + 'associatedCompanies:company-main-representative-email-input', + ], + }, + }, + elements: [ + { + name: 'associatedCompanies:company-registration-number-input', + type: 'json-form:text', + options: { + hint: 'CRN12345678', + label: 'Company Registration Number', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.associatedCompanies[{INDEX}].registrationNumber', + }, + { + name: 'associatedCompanies:company-country-input', + type: 'dropdown', + options: { + hint: 'United Kingdom', + label: 'Registered Country', + uiSchema: { + 'ui:field': 'CountryPicker', + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.associatedCompanies[{INDEX}].country', + }, + { + name: 'associatedCompanies:company-legal-name-input', + type: 'json-form:text', + options: { + hint: 'OpenAI Technologies, Inc.', + label: 'Company Legal Name', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.associatedCompanies[{INDEX}].companyName', + }, + { + name: 'associatedCompanies:company-association-relationship-input', + type: 'json-form:date', + options: { + hint: 'Parent of / Subsidiary of / Sister company of', + label: 'Relationship', + uiSchema: { + 'ui:field': 'RelationshipDropdown', + 'ui:label': true, + }, + jsonFormDefinition: { + type: 'string', + }, + companyNameDestination: 'entity.data.companyName', + }, + valueDestination: + 'entity.data.additionalInfo.associatedCompanies[{INDEX}].additionalInfo.associationRelationship', + }, + { + name: 'associatedCompanies:company-main-representative-first-name-input', + type: 'json-form:text', + options: { + hint: 'John', + label: 'Representative First Name', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.associatedCompanies[{INDEX}].additionalInfo.mainRepresentative.firstName', + }, + { + name: 'associatedCompanies:company-main-representative-last-name-input', + type: 'json-form:text', + options: { + hint: 'Deo', + label: 'Representative Last Name', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.associatedCompanies[{INDEX}].additionalInfo.mainRepresentative.lastName', + }, + { + name: 'associatedCompanies:company-main-representative-email-input', + type: 'json-form:text', + options: { + hint: 'example@example.com', + label: 'Representative Email', + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: + 'entity.data.additionalInfo.associatedCompanies[{INDEX}].additionalInfo.mainRepresentative.email', + }, + ], + valueDestination: 'entity.data.additionalInfo.associatedCompanies', + }, + { + name: 'controls-container', + type: 'container', + options: { + align: 'right', + }, + elements: [ + { + name: 'next-page-button', + type: 'submit-button', + options: { + text: 'Continue', + uiDefinition: { + classNames: ['align-right', 'padding-top-10'], + }, + }, + availableOn: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + properties: { + additionalInfo: { + if: { + properties: { + thereNoCompaniesWithMoreThan25: { + enum: [true], + }, + }, + }, + else: { + required: ['ubos', 'associatedCompanies'], + properties: { + associatedCompanies: { + minItems: 1, + }, + }, + errorMessage: { + required: { + ubos: 'UBOs are required.', + associatedCompanies: + 'Mark the checkbox or add a company.', + }, + }, + }, + then: { + required: ['ubos'], + errorMessage: { + required: { + ubos: 'UBOs are required.', + }, + }, + }, + type: 'object', + default: {}, + properties: { + ubos: { + type: 'array', + items: { + type: 'object', + required: ['firstName', 'lastName', 'email'], + properties: { + email: { + type: 'string', + format: 'email', + maxLength: 100, + errorMessage: { + format: 'Invalid email address.', + maxLength: + 'Email should not exceed 100 characters.', + }, + }, + lastName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: + 'Last name should not exceed 50 characters.', + minLength: + 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: + 'First name should not exceed 50 characters.', + minLength: + 'First name must be at least 2 characters long.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: ['role', 'dateOfBirth'], + properties: { + role: { + type: 'string', + }, + dateOfBirth: { + type: 'string', + }, + }, + errorMessage: { + required: { + role: 'This field is required.', + dateOfBirth: 'This field is required.', + }, + }, + }, + }, + errorMessage: { + required: { + email: 'Email is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + }, + }, + }, + minItems: 1, + errorMessage: { + minItems: 'UBOs are required.', + }, + }, + associatedCompanies: { + type: 'array', + items: { + type: 'object', + required: [ + 'registrationNumber', + 'country', + 'companyName', + ], + properties: { + country: { + type: 'string', + pattern: '^[A-Z]{2}$', + maxLength: 2, + minLength: 2, + errorMessage: { + pattern: 'errorMessage.maxLength.pattern', + maxLength: + 'Country code should have exactly 2 characters.', + minLength: + 'Country code should have exactly 2 characters.', + }, + }, + companyName: { + type: 'string', + maxLength: 100, + minLength: 2, + errorMessage: { + maxLength: + 'Company name should not exceed 100 characters.', + minLength: + 'Company name should have at least 2 characters.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: [ + 'associationRelationship', + 'mainRepresentative', + ], + properties: { + mainRepresentative: { + type: 'object', + default: {}, + required: ['firstName', 'lastName', 'email'], + properties: { + email: { + type: 'string', + format: 'email', + maxLength: 100, + errorMessage: { + format: 'Invalid email address.', + maxLength: + 'Email should not exceed 100 characters.', + }, + }, + lastName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: + 'Last name should not exceed 50 characters.', + minLength: + 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: + 'First name should not exceed 50 characters.', + minLength: + 'First name must be at least 2 characters long.', + }, + }, + }, + errorMessage: { + required: { + email: 'Email is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + }, + }, + }, + associationRelationship: { + type: 'string', + }, + }, + errorMessage: { + required: { + mainRepresentative: 'This field is required.', + associationRelationship: + 'This field is required.', + }, + }, + }, + registrationNumber: { + type: 'string', + maxLength: 20, + minLength: 4, + errorMessage: { + maxLength: + 'errorMessage.maxLength.companyRegistrationNumber', + minLength: + 'errorMessage.minLength.companyRegistrationNumber', + }, + }, + }, + errorMessage: { + required: { + country: 'Country is required.', + companyName: 'Company name is required.', + registrationNumber: + 'Company registration number is required.', + }, + }, + }, + errorMessage: { + minItems: 'Mark the checkbox or add a company.', + }, + }, + thereNoCompaniesWithMoreThan25: { + type: 'boolean', + default: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + ], + }, + ], + }, + ], + stateName: 'company_ownership', + pageValidation: [ + { + type: 'json-schema', + value: { + type: 'object', + required: ['entity'], + properties: { + entity: { + type: 'object', + properties: { + data: { + type: 'object', + properties: { + additionalInfo: { + if: { + properties: { + thereNoCompaniesWithMoreThan25: { + enum: [true], + }, + }, + }, + else: { + required: ['ubos', 'associatedCompanies'], + properties: { + associatedCompanies: { + minItems: 1, + }, + }, + errorMessage: { + required: { + ubos: 'UBOs are required.', + associatedCompanies: 'Mark the checkbox or add a company.', + }, + }, + }, + then: { + required: ['ubos'], + errorMessage: { + required: { + ubos: 'UBOs are required.', + }, + }, + }, + type: 'object', + default: {}, + properties: { + ubos: { + type: 'array', + items: { + type: 'object', + required: ['firstName', 'lastName', 'email'], + properties: { + email: { + type: 'string', + format: 'email', + maxLength: 100, + errorMessage: { + format: 'Invalid email address.', + maxLength: 'Email should not exceed 100 characters.', + }, + }, + lastName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: 'Last name should not exceed 50 characters.', + minLength: 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: 'First name should not exceed 50 characters.', + minLength: 'First name must be at least 2 characters long.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: ['role', 'dateOfBirth'], + properties: { + role: { + type: 'string', + }, + dateOfBirth: { + type: 'string', + }, + }, + errorMessage: { + required: { + role: 'This field is required.', + dateOfBirth: 'This field is required.', + }, + }, + }, + }, + errorMessage: { + required: { + email: 'Email is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + }, + }, + }, + minItems: 1, + errorMessage: { + minItems: 'UBOs are required.', + }, + }, + associatedCompanies: { + type: 'array', + items: { + type: 'object', + required: ['registrationNumber', 'country', 'companyName'], + properties: { + country: { + type: 'string', + pattern: '^[A-Z]{2}$', + maxLength: 2, + minLength: 2, + errorMessage: { + pattern: 'errorMessage.maxLength.pattern', + maxLength: 'Country code should have exactly 2 characters.', + minLength: 'Country code should have exactly 2 characters.', + }, + }, + companyName: { + type: 'string', + maxLength: 100, + minLength: 2, + errorMessage: { + maxLength: 'Company name should not exceed 100 characters.', + minLength: 'Company name should have at least 2 characters.', + }, + }, + additionalInfo: { + type: 'object', + default: {}, + required: ['associationRelationship', 'mainRepresentative'], + properties: { + mainRepresentative: { + type: 'object', + default: {}, + required: ['firstName', 'lastName', 'email'], + properties: { + email: { + type: 'string', + format: 'email', + maxLength: 100, + errorMessage: { + format: 'Invalid email address.', + maxLength: 'Email should not exceed 100 characters.', + }, + }, + lastName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: + 'Last name should not exceed 50 characters.', + minLength: + 'Last name must be at least 2 characters long.', + }, + }, + firstName: { + type: 'string', + maxLength: 50, + minLength: 2, + errorMessage: { + maxLength: + 'First name should not exceed 50 characters.', + minLength: + 'First name must be at least 2 characters long.', + }, + }, + }, + errorMessage: { + required: { + email: 'Email is required.', + lastName: 'Last name is required.', + firstName: 'First name is required.', + }, + }, + }, + associationRelationship: { + type: 'string', + }, + }, + errorMessage: { + required: { + mainRepresentative: 'This field is required.', + associationRelationship: 'This field is required.', + }, + }, + }, + registrationNumber: { + type: 'string', + maxLength: 20, + minLength: 4, + errorMessage: { + maxLength: 'errorMessage.maxLength.companyRegistrationNumber', + minLength: 'errorMessage.minLength.companyRegistrationNumber', + }, + }, + }, + errorMessage: { + required: { + country: 'Country is required.', + companyName: 'Company name is required.', + registrationNumber: 'Company registration number is required.', + }, + }, + }, + errorMessage: { + minItems: 'Mark the checkbox or add a company.', + }, + }, + thereNoCompaniesWithMoreThan25: { + type: 'boolean', + default: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ], + }, + { + name: 'Company Documents', + type: 'page', + number: 7, + actions: [ + { + type: 'definitionEvent', + params: { + eventName: 'NEXT', + }, + dispatchOn: { + rules: [ + { + type: 'destination-engine', + value: [ + { + required: true, + documentId: 'document-bank-statement', + destination: 'pages[0].ballerineFileId', + errorMessage: 'Bank Statement is Required', + }, + { + required: true, + documentId: 'document-company-structure', + destination: 'pages[0].ballerineFileId', + errorMessage: 'Company structure is Required', + }, + { + required: true, + documentId: 'document-certificate-of-registration', + destination: 'pages[0].ballerineFileId', + errorMessage: 'Certificate of Registration is Required', + }, + ], + }, + ], + uiEvents: [ + { + event: 'onClick', + uiElementName: 'next-page-button', + }, + ], + }, + }, + ], + elements: [ + { + type: 'mainContainer', + elements: [ + { + type: 'container', + elements: [ + { + type: 'h1', + options: { + text: 'Company Documents', + }, + }, + { + type: 'h3', + options: { + text: 'Merchant Company Documents', + }, + }, + ], + }, + { + name: 'company-documents-form', + type: 'json-form', + options: { + jsonFormDefinition: { + required: [ + 'document-bank-statement', + 'document-company-structure', + 'document-certificate-of-registration', + ], + }, + }, + elements: [ + { + name: 'document-bank-statement', + type: 'document', + options: { + label: 'Bank Statement', + uiSchema: { + 'ui:field': 'DocumentInput', + }, + description: 'Not older than 6 months', + documentData: { + id: 'document-bank-statement', + type: 'bank_statement', + issuer: { + country: 'GH', + }, + version: '1', + category: 'proof_of_address', + properties: {}, + issuingVersion: 1, + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'documents[0].pages[0].ballerineFileId', + }, + { + name: 'document-company-structure', + type: 'document', + options: { + label: 'Company structure (directors & legal representatives)', + uiSchema: { + 'ui:field': 'DocumentInput', + }, + description: 'Notarized document', + documentData: { + id: 'document-company-structure', + type: 'payslip', + issuer: { + country: 'GH', + }, + version: '1', + category: 'proof_of_employment', + properties: {}, + issuingVersion: 1, + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'documents[1].pages[0].ballerineFileId', + }, + { + name: 'document-certificate-of-registration', + type: 'document', + options: { + label: 'Certificate of Registration', + uiSchema: { + 'ui:field': 'DocumentInput', + }, + documentData: { + id: 'document-certificate-of-registration', + type: 'certificate_of_registration', + issuer: { + country: 'GH', + }, + version: '1', + category: 'proof_of_registration', + properties: {}, + issuingVersion: 1, + }, + jsonFormDefinition: { + type: 'string', + }, + }, + valueDestination: 'documents[2].pages[0].ballerineFileId', + }, + ], + }, + { + name: 'accuracy-description', + type: 'description', + options: { + descriptionRaw: + "By clicking 'Finish', an email containing an identity verification link will be sent to the shareholders listed.", + }, + }, + { + name: 'controls-container', + type: 'container', + options: { + align: 'right', + }, + elements: [ + { + name: 'next-page-button', + type: 'submit-button', + options: { + text: 'Finish', + uiDefinition: { + classNames: ['align-right', 'padding-top-10'], + }, + }, + availableOn: [ + { + type: 'destination-engine', + value: [ + { + required: true, + documentId: 'document-bank-statement', + destination: 'pages[0].ballerineFileId', + errorMessage: 'Bank Statement is Required', + }, + { + required: true, + documentId: 'document-company-structure', + destination: 'pages[0].ballerineFileId', + errorMessage: 'Company structure is Required', + }, + { + required: true, + documentId: 'document-certificate-of-registration', + destination: 'pages[0].ballerineFileId', + errorMessage: 'Certificate of Registration is Required', + }, + ], + }, + { + type: 'jmespath', + value: '!contains(uiState.elements.*.isLoading,`true`)', + }, + { + type: 'json-logic', + value: { + '==': [ + { + var: 'entity.data.additionalInfo.hasConfirmed', + }, + true, + false, + ], + }, + }, + { + type: 'json-logic', + value: { + '!==': [ + { + var: 'uiState.isLoading', + }, + true, + false, + ], + }, + }, + ], + }, + ], + }, + ], + }, + ], + stateName: 'company_documents', + pageValidation: [ + { + type: 'destination-engine', + value: [ + { + required: true, + documentId: 'document-bank-statement', + destination: 'pages[0].ballerineFileId', + errorMessage: 'Bank Statement is Required', + }, + { + required: true, + documentId: 'document-company-structure', + destination: 'pages[0].ballerineFileId', + errorMessage: 'Company structure is Required', + }, + { + required: true, + documentId: 'document-certificate-of-registration', + destination: 'pages[0].ballerineFileId', + errorMessage: 'Certificate of Registration is Required', + }, + ], + }, + ], + }, + ], + }, + definition: { + definition: { + id: 'dynamic_collection_flow', + states: { + finish: { + type: 'final', + }, + bank_information: { + on: { + NEXT: 'company_ownership', + PREVIOUS: 'company_activity', + }, + }, + company_activity: { + on: { + NEXT: 'bank_information', + PREVIOUS: 'business_address_information', + }, + }, + personal_details: { + on: { + NEXT: 'company_information', + }, + }, + company_documents: { + on: { + NEXT: 'finish', + PREVIOUS: 'company_ownership', + }, + }, + company_ownership: { + on: { + NEXT: 'company_documents', + PREVIOUS: 'bank_information', + }, + }, + company_information: { + on: { + NEXT: 'business_address_information', + PREVIOUS: 'personal_details', + }, + }, + business_address_information: { + on: { + NEXT: 'company_activity', + PREVIOUS: 'company_information', + }, + }, + }, + context: {}, + initial: 'personal_details', + predictableActionArguments: true, + }, + extensions: { + apiPlugins: [ + { + url: '{flowConfig.apiUrl}/api/v1/collection-flow/end-user?token={flowConfig.tokenId}', + name: 'update_end_user', + method: 'POST', + headers: { + Authorization: 'Bearer {flowConfig.tokenId}', + }, + request: { + transform: [ + { + mapping: + '{\n firstName: entity.data.additionalInfo.mainRepresentative.firstName,\n lastName: entity.data.additionalInfo.mainRepresentative.lastName,\n additionalInfo: {title: entity.data.additionalInfo.mainRepresentative.additionalInfo.jobTitle},\n phone: entity.data.additionalInfo.mainRepresentative.phone,\n dateOfBirth: entity.data.additionalInfo.mainRepresentative.dateOfBirth\n }', + transformer: 'jmespath', + }, + ], + }, + pluginKind: 'api', + stateNames: [], + }, + ], + }, + definitionType: 'statechart-json', + }, +}; + +const context = { + entity: { + data: { + additionalInfo: { + mainRepresentative: { + email: 'test@gmail.com', + lastName: 'Doe', + firstName: 'John', + additionalInfo: {}, + }, + }, + }, + type: 'business', + ballerineEntityId: 'ckkt3rv4z4004qxtte4vz9e97', + }, + metadata: { + token: '12345678-1234-1234-1234-123456789012', + webUiSDKUrl: 'http://localhost:5202', + collectionFlowUrl: 'http://localhost:5201', + }, + documents: [], + workflowId: 'kyb_with_associated_companies_example', +}; + +const customer = { + id: 'customer-1', + name: 'customer-1', + displayName: 'Customer 1', + logoImageUri: 'https://cdn.ballerine.io/images/ballerine_logo.svg', + faviconImageUri: '', + country: 'GB', + language: 'en', + websiteUrl: null, + projects: [ + { + id: 'project-1', + name: 'Project 1', + customerId: 'customer-1', + }, + ], + subscriptions: null, +}; export const router = createBrowserRouter([ { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b9a8e8ecac..2af70c79f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,8 +67,13 @@ importers: specifier: 0.9.14 version: link:../../packages/common '@ballerine/react-pdf-toolkit': +<<<<<<< Updated upstream specifier: ^1.2.8 version: link:../../packages/react-pdf-toolkit +======= + specifier: ^1.2.6 + version: 1.2.8(@mui/system@5.15.6)(@types/node@18.17.19)(@types/react-dom@18.2.15)(@types/react@18.2.37)(date-fns@3.6.0)(react-dom@18.2.0)(react-pdf-tailwind@2.2.1)(react@18.2.0)(ts-node@10.9.1)(vite@4.5.3) +>>>>>>> Stashed changes '@ballerine/ui': specifier: ^0.5.8 version: link:../../packages/ui @@ -269,11 +274,19 @@ importers: version: 3.22.4 devDependencies: '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../../packages/config '@ballerine/eslint-config-react': specifier: ^2.0.7 version: link:../../packages/eslint-config-react +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config-react': + specifier: ^2.0.5 + version: 2.0.7(@ballerine/eslint-config@1.1.7)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.33.2) +>>>>>>> Stashed changes '@cspell/cspell-types': specifier: ^6.31.1 version: 6.31.3 @@ -538,10 +551,17 @@ importers: devDependencies: '@ballerine/config': specifier: ^1.1.7 +<<<<<<< Updated upstream version: link:../../packages/config '@ballerine/eslint-config-react': specifier: ^2.0.7 version: link:../../packages/eslint-config-react +======= + version: 1.1.7 + '@ballerine/eslint-config-react': + specifier: ^2.0.5 + version: 2.0.7(@ballerine/eslint-config@1.1.7)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.33.2) +>>>>>>> Stashed changes '@jest/globals': specifier: ^29.7.0 version: 29.7.0 @@ -631,7 +651,14 @@ importers: version: 4.5.3(@types/node@18.17.19)(sass@1.69.5)(terser@5.27.0) vite-plugin-checker: specifier: ^0.6.1 +<<<<<<< Updated upstream version: 0.6.2(eslint@8.54.0)(optionator@0.9.3)(typescript@5.1.6)(vite@4.5.3(@types/node@18.17.19)(sass@1.69.5)(terser@5.27.0)) +======= + version: 0.6.2(eslint@8.54.0)(typescript@5.1.6)(vite@4.5.3) + vite-plugin-dts: + specifier: ^1.7.3 + version: 1.7.3(@types/node@18.17.19)(vite@4.5.3) +>>>>>>> Stashed changes vite-tsconfig-paths: specifier: ^4.0.7 version: 4.2.1(typescript@5.1.6)(vite@4.5.3(@types/node@18.17.19)(sass@1.69.5)(terser@5.27.0)) @@ -644,6 +671,9 @@ importers: '@ballerine/common': specifier: ^0.9.14 version: link:../../packages/common + '@ballerine/kyb-app': + specifier: link:../kyb-app + version: link:../kyb-app '@lukemorales/query-key-factory': specifier: ^1.0.3 version: 1.3.2(@tanstack/query-core@5.17.19)(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) @@ -763,11 +793,19 @@ importers: version: 3.22.4 devDependencies: '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../../packages/config '@ballerine/eslint-config-react': specifier: ^2.0.7 version: link:../../packages/eslint-config-react +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config-react': + specifier: ^2.0.5 + version: 2.0.7(@ballerine/eslint-config@1.1.7)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.33.2) +>>>>>>> Stashed changes '@cspell/cspell-types': specifier: ^6.31.1 version: 6.31.3 @@ -953,8 +991,13 @@ importers: examples/report-generation-example: dependencies: '@ballerine/react-pdf-toolkit': +<<<<<<< Updated upstream specifier: ^1.2.8 version: link:../../packages/react-pdf-toolkit +======= + specifier: ^1.2.6 + version: 1.2.8(@mui/system@5.15.6)(@types/node@18.17.19)(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react-pdf-tailwind@2.2.1)(react@18.2.0)(ts-node@10.9.1)(vite@4.5.3) +>>>>>>> Stashed changes react: specifier: ^18.2.0 version: 18.2.0 @@ -1012,11 +1055,19 @@ importers: specifier: 7.16.7 version: 7.16.7(@babel/core@7.17.9) '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../config '@ballerine/eslint-config': specifier: ^1.1.7 version: link:../eslint-config +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config': + specifier: ^1.1.5 + version: 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@6.15.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@2.0.0)(eslint@8.54.0) +>>>>>>> Stashed changes '@rollup/plugin-babel': specifier: 5.3.1 version: 5.3.1(@babel/core@7.17.9)(@types/babel__core@7.20.4)(rollup@2.70.2) @@ -1178,288 +1229,314 @@ importers: specifier: 7.16.7 version: 7.16.7(@babel/core@7.17.9) '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../config '@ballerine/eslint-config': specifier: ^1.1.7 version: link:../eslint-config - '@cspell/cspell-types': - specifier: ^6.31.1 - version: 6.31.3 - '@rollup/plugin-babel': - specifier: 5.3.1 - version: 5.3.1(@babel/core@7.17.9)(@types/babel__core@7.20.4)(rollup@2.70.2) - '@rollup/plugin-commonjs': - specifier: ^24.0.1 - version: 24.1.0(rollup@2.70.2) - '@rollup/plugin-node-resolve': - specifier: 13.2.1 - version: 13.2.1(rollup@2.70.2) - '@rollup/plugin-replace': - specifier: 4.0.0 - version: 4.0.0(rollup@2.70.2) - '@types/babel__core': - specifier: ^7.20.0 - version: 7.20.4 - '@types/fs-extra': - specifier: ^11.0.1 - version: 11.0.4 - '@types/json-logic-js': - specifier: ^2.0.1 - version: 2.0.5 - '@types/json-schema': - specifier: ^7.0.12 - version: 7.0.15 - '@types/lodash.isempty': - specifier: ^4.4.9 - version: 4.4.9 - '@types/node': - specifier: ^18.14.0 - version: 18.17.19 - '@typescript-eslint/eslint-plugin': - specifier: ^5.48.1 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@4.9.5))(eslint@8.54.0)(typescript@4.9.5) - '@typescript-eslint/parser': - specifier: ^5.48.1 - version: 5.62.0(eslint@8.54.0)(typescript@4.9.5) - '@vitest/coverage-istanbul': - specifier: ^0.28.4 - version: 0.28.5(jsdom@20.0.3)(sass@1.69.5)(terser@5.27.0) - concurrently: - specifier: ^7.6.0 - version: 7.6.0 - cspell: - specifier: ^6.31.2 - version: 6.31.3 - cz-conventional-changelog: - specifier: ^3.3.0 - version: 3.3.0(@types/node@18.17.19)(typescript@4.9.5) - eslint: - specifier: ^8.32.0 - version: 8.54.0 - eslint-config-prettier: - specifier: ^6.11.0 - version: 6.15.0(eslint@8.54.0) - eslint-plugin-eslint-comments: - specifier: ^3.2.0 - version: 3.2.0(eslint@8.54.0) - eslint-plugin-functional: - specifier: ^3.0.2 - version: 3.7.2(eslint@8.54.0)(tsutils@3.21.0(typescript@4.9.5))(typescript@4.9.5) - eslint-plugin-import: - specifier: ^2.22.0 - version: 2.29.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - eslint-plugin-unused-imports: - specifier: ^2.0.0 - version: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@4.9.5))(eslint@8.54.0)(typescript@4.9.5))(eslint@8.54.0) - fs-extra: - specifier: ^11.1.0 - version: 11.1.1 - prettier: - specifier: ^2.1.1 - version: 2.8.8 - rimraf: - specifier: ^4.1.2 - version: 4.4.1 - rollup: - specifier: 2.70.2 - version: 2.70.2 - rollup-plugin-dts: - specifier: 4.2.2 - version: 4.2.2(rollup@2.70.2)(typescript@4.9.5) - rollup-plugin-size: - specifier: 0.2.2 - version: 0.2.2 - rollup-plugin-terser: - specifier: 7.0.2 - version: 7.0.2(rollup@2.70.2) - rollup-plugin-typescript-paths: - specifier: ^1.4.0 - version: 1.4.0(typescript@4.9.5) - rollup-plugin-visualizer: - specifier: 5.6.0 - version: 5.6.0(rollup@2.70.2) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@swc/core@1.3.96)(@types/node@18.17.19)(typescript@4.9.5) - typescript: - specifier: 4.9.5 - version: 4.9.5 - vite: - specifier: ^4.5.3 - version: 4.5.3(@types/node@18.17.19)(sass@1.69.5)(terser@5.27.0) - vitest: - specifier: ^0.28.4 - version: 0.28.5(jsdom@20.0.3)(sass@1.69.5)(terser@5.27.0) - - packages/config: {} - - packages/eslint-config: - dependencies: - '@stylistic/eslint-plugin-ts': - specifier: ^1.6.2 - version: 1.6.2(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/eslint-plugin': - specifier: ^6.11.0 - version: 6.11.0(@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2))(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/parser': - specifier: ^6.11.0 - version: 6.11.0(eslint@8.53.0)(typescript@5.2.2) - eslint: - specifier: ^8.53.0 - version: 8.53.0 - eslint-config-prettier: - specifier: ^9.0.0 - version: 9.0.0(eslint@8.53.0) - eslint-plugin-prefer-arrow: - specifier: ^1.2.3 - version: 1.2.3(eslint@8.53.0) - eslint-plugin-unused-imports: - specifier: ^3.0.0 - version: 3.0.0(@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2))(eslint@8.53.0)(typescript@5.2.2))(eslint@8.53.0) - - packages/eslint-config-react: - dependencies: - '@ballerine/eslint-config': - specifier: ^1.1.7 - version: link:../eslint-config - eslint-plugin-react: - specifier: ^7.33.2 - version: 7.33.2(eslint@8.56.0) - eslint-plugin-react-hooks: - specifier: ^4.6.0 - version: 4.6.0(eslint@8.56.0) - - packages/react-pdf-toolkit: - dependencies: - '@ballerine/config': - specifier: ^1.1.7 - version: link:../config - '@ballerine/ui': - specifier: 0.5.8 - version: link:../ui - '@react-pdf/renderer': - specifier: ^3.1.14 - version: 3.1.14(react@18.2.0) - '@sinclair/typebox': - specifier: ^0.31.7 - version: 0.31.26 - ajv: - specifier: ^8.12.0 - version: 8.12.0 - ajv-formats: - specifier: ^2.1.1 - version: 2.1.1(ajv@8.12.0) - class-variance-authority: - specifier: ^0.7.0 - version: 0.7.0 - dayjs: - specifier: ^1.11.6 - version: 1.11.10 - string-ts: - specifier: ^1.2.0 - version: 1.3.3 - tailwindcss: - specifier: ^3.4.0 - version: 3.4.0(ts-node@10.9.1(@swc/core@1.3.96)(@types/node@20.9.2)(typescript@5.2.2)) - vite-plugin-dts: - specifier: ^1.6.6 - version: 1.7.3(@types/node@20.9.2)(rollup@3.29.4)(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)) - devDependencies: - '@storybook/addon-essentials': - specifier: ^7.0.26 - version: 7.5.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-interactions': - specifier: ^7.0.26 - version: 7.5.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-links': - specifier: ^7.0.26 - version: 7.5.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/blocks': - specifier: ^7.0.26 - version: 7.5.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/builder-vite': - specifier: ^7.0.26 - version: 7.5.3(typescript@5.2.2)(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)) - '@storybook/react': - specifier: ^7.0.26 - version: 7.5.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@storybook/react-vite': - specifier: ^7.0.26 - version: 7.5.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(rollup@3.29.4)(typescript@5.2.2)(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)) - '@storybook/testing-library': - specifier: ^0.0.14-next.2 - version: 0.0.14-next.2 - '@types/react': - specifier: ^18.2.43 - version: 18.2.43 - '@types/react-dom': - specifier: ^18.2.17 - version: 18.2.17 - '@typescript-eslint/eslint-plugin': - specifier: ^6.14.0 - version: 6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.55.0)(typescript@5.2.2))(eslint@8.55.0)(typescript@5.2.2) - '@typescript-eslint/parser': - specifier: ^6.14.0 - version: 6.14.0(eslint@8.55.0)(typescript@5.2.2) - '@vitejs/plugin-react': - specifier: ^4.2.1 - version: 4.2.1(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)) - eslint: - specifier: ^8.55.0 - version: 8.55.0 - eslint-plugin-react-hooks: - specifier: ^4.6.0 - version: 4.6.0(eslint@8.55.0) - eslint-plugin-react-refresh: - specifier: ^0.4.5 - version: 0.4.5(eslint@8.55.0) - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - react-pdf-tailwind: - specifier: ^2.2.1 - version: 2.2.1(react@18.2.0)(ts-node@10.9.1(@swc/core@1.3.96)(@types/node@20.9.2)(typescript@5.2.2)) - storybook: - specifier: ^7.0.26 - version: 7.5.3 - typescript: - specifier: ^5.2.2 - version: 5.2.2 - vite: - specifier: ^4.5.3 - version: 4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0) - - packages/rules-engine: - dependencies: - jmespath: - specifier: ^0.16.0 - version: 0.16.0 - json-logic-js: - specifier: ^2.0.2 - version: 2.0.2 - xstate: - specifier: ^4.35.2 - version: 4.38.3 - devDependencies: - '@babel/core': - specifier: 7.17.9 - version: 7.17.9 - '@babel/preset-env': - specifier: 7.16.11 - version: 7.16.11(@babel/core@7.17.9) - '@babel/preset-typescript': - specifier: 7.16.7 - version: 7.16.7(@babel/core@7.17.9) - '@ballerine/config': - specifier: ^1.1.7 - version: link:../config +======= + specifier: ^1.1.5 + version: 1.1.7 '@ballerine/eslint-config': - specifier: ^1.1.7 - version: link:../eslint-config + specifier: ^1.1.5 + version: 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@6.15.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@2.0.0)(eslint@8.54.0) +>>>>>>> Stashed changes + '@cspell/cspell-types': + specifier: ^6.31.1 + version: 6.31.3 + '@rollup/plugin-babel': + specifier: 5.3.1 + version: 5.3.1(@babel/core@7.17.9)(@types/babel__core@7.20.4)(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ^24.0.1 + version: 24.1.0(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: 13.2.1 + version: 13.2.1(rollup@2.70.2) + '@rollup/plugin-replace': + specifier: 4.0.0 + version: 4.0.0(rollup@2.70.2) + '@types/babel__core': + specifier: ^7.20.0 + version: 7.20.4 + '@types/fs-extra': + specifier: ^11.0.1 + version: 11.0.4 + '@types/json-logic-js': + specifier: ^2.0.1 + version: 2.0.5 + '@types/json-schema': + specifier: ^7.0.12 + version: 7.0.15 + '@types/lodash.isempty': + specifier: ^4.4.9 + version: 4.4.9 + '@types/node': + specifier: ^18.14.0 + version: 18.17.19 + '@typescript-eslint/eslint-plugin': + specifier: ^5.48.1 + version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@4.9.5))(eslint@8.54.0)(typescript@4.9.5) + '@typescript-eslint/parser': + specifier: ^5.48.1 + version: 5.62.0(eslint@8.54.0)(typescript@4.9.5) + '@vitest/coverage-istanbul': + specifier: ^0.28.4 + version: 0.28.5(jsdom@20.0.3)(sass@1.69.5)(terser@5.27.0) + concurrently: + specifier: ^7.6.0 + version: 7.6.0 + cspell: + specifier: ^6.31.2 + version: 6.31.3 + cz-conventional-changelog: + specifier: ^3.3.0 + version: 3.3.0(@types/node@18.17.19)(typescript@4.9.5) + eslint: + specifier: ^8.32.0 + version: 8.54.0 + eslint-config-prettier: + specifier: ^6.11.0 + version: 6.15.0(eslint@8.54.0) + eslint-plugin-eslint-comments: + specifier: ^3.2.0 + version: 3.2.0(eslint@8.54.0) + eslint-plugin-functional: + specifier: ^3.0.2 + version: 3.7.2(eslint@8.54.0)(tsutils@3.21.0(typescript@4.9.5))(typescript@4.9.5) + eslint-plugin-import: + specifier: ^2.22.0 + version: 2.29.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) + eslint-plugin-unused-imports: + specifier: ^2.0.0 + version: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@4.9.5))(eslint@8.54.0)(typescript@4.9.5))(eslint@8.54.0) + fs-extra: + specifier: ^11.1.0 + version: 11.1.1 + prettier: + specifier: ^2.1.1 + version: 2.8.8 + rimraf: + specifier: ^4.1.2 + version: 4.4.1 + rollup: + specifier: 2.70.2 + version: 2.70.2 + rollup-plugin-dts: + specifier: 4.2.2 + version: 4.2.2(rollup@2.70.2)(typescript@4.9.5) + rollup-plugin-size: + specifier: 0.2.2 + version: 0.2.2 + rollup-plugin-terser: + specifier: 7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-typescript-paths: + specifier: ^1.4.0 + version: 1.4.0(typescript@4.9.5) + rollup-plugin-visualizer: + specifier: 5.6.0 + version: 5.6.0(rollup@2.70.2) + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@swc/core@1.3.96)(@types/node@18.17.19)(typescript@4.9.5) + typescript: + specifier: 4.9.5 + version: 4.9.5 + vite: + specifier: ^4.5.3 + version: 4.5.3(@types/node@18.17.19)(sass@1.69.5)(terser@5.27.0) + vitest: + specifier: ^0.28.4 + version: 0.28.5(jsdom@20.0.3)(sass@1.69.5)(terser@5.27.0) + + packages/config: {} + + packages/eslint-config: + dependencies: + '@stylistic/eslint-plugin-ts': + specifier: ^1.6.2 + version: 1.6.2(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': + specifier: ^6.11.0 + version: 6.11.0(@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2))(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': + specifier: ^6.11.0 + version: 6.11.0(eslint@8.53.0)(typescript@5.2.2) + eslint: + specifier: ^8.53.0 + version: 8.53.0 + eslint-config-prettier: + specifier: ^9.0.0 + version: 9.0.0(eslint@8.53.0) + eslint-plugin-prefer-arrow: + specifier: ^1.2.3 + version: 1.2.3(eslint@8.53.0) + eslint-plugin-unused-imports: + specifier: ^3.0.0 + version: 3.0.0(@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2))(eslint@8.53.0)(typescript@5.2.2))(eslint@8.53.0) + + packages/eslint-config-react: + dependencies: + '@ballerine/eslint-config': +<<<<<<< Updated upstream + specifier: ^1.1.7 + version: link:../eslint-config +======= + specifier: ^1.1.5 + version: 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@6.14.0)(@typescript-eslint/parser@6.14.0)(eslint-config-prettier@9.0.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@3.0.0)(eslint@8.56.0) +>>>>>>> Stashed changes + eslint-plugin-react: + specifier: ^7.33.2 + version: 7.33.2(eslint@8.56.0) + eslint-plugin-react-hooks: + specifier: ^4.6.0 + version: 4.6.0(eslint@8.56.0) + + packages/react-pdf-toolkit: + dependencies: + '@ballerine/config': +<<<<<<< Updated upstream + specifier: ^1.1.7 + version: link:../config +======= + specifier: ^1.1.5 + version: 1.1.7 +>>>>>>> Stashed changes + '@ballerine/ui': + specifier: 0.5.8 + version: link:../ui + '@react-pdf/renderer': + specifier: ^3.1.14 + version: 3.1.14(react@18.2.0) + '@sinclair/typebox': + specifier: ^0.31.7 + version: 0.31.26 + ajv: + specifier: ^8.12.0 + version: 8.12.0 + ajv-formats: + specifier: ^2.1.1 + version: 2.1.1(ajv@8.12.0) + class-variance-authority: + specifier: ^0.7.0 + version: 0.7.0 + dayjs: + specifier: ^1.11.6 + version: 1.11.10 + string-ts: + specifier: ^1.2.0 + version: 1.3.3 + tailwindcss: + specifier: ^3.4.0 + version: 3.4.0(ts-node@10.9.1(@swc/core@1.3.96)(@types/node@20.9.2)(typescript@5.2.2)) + vite-plugin-dts: + specifier: ^1.6.6 + version: 1.7.3(@types/node@20.9.2)(rollup@3.29.4)(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)) + devDependencies: + '@storybook/addon-essentials': + specifier: ^7.0.26 + version: 7.5.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-interactions': + specifier: ^7.0.26 + version: 7.5.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-links': + specifier: ^7.0.26 + version: 7.5.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/blocks': + specifier: ^7.0.26 + version: 7.5.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/builder-vite': + specifier: ^7.0.26 + version: 7.5.3(typescript@5.2.2)(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)) + '@storybook/react': + specifier: ^7.0.26 + version: 7.5.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) + '@storybook/react-vite': + specifier: ^7.0.26 + version: 7.5.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(rollup@3.29.4)(typescript@5.2.2)(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)) + '@storybook/testing-library': + specifier: ^0.0.14-next.2 + version: 0.0.14-next.2 + '@types/react': + specifier: ^18.2.43 + version: 18.2.43 + '@types/react-dom': + specifier: ^18.2.17 + version: 18.2.17 + '@typescript-eslint/eslint-plugin': + specifier: ^6.14.0 + version: 6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.55.0)(typescript@5.2.2))(eslint@8.55.0)(typescript@5.2.2) + '@typescript-eslint/parser': + specifier: ^6.14.0 + version: 6.14.0(eslint@8.55.0)(typescript@5.2.2) + '@vitejs/plugin-react': + specifier: ^4.2.1 + version: 4.2.1(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)) + eslint: + specifier: ^8.55.0 + version: 8.55.0 + eslint-plugin-react-hooks: + specifier: ^4.6.0 + version: 4.6.0(eslint@8.55.0) + eslint-plugin-react-refresh: + specifier: ^0.4.5 + version: 0.4.5(eslint@8.55.0) + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + react-pdf-tailwind: + specifier: ^2.2.1 + version: 2.2.1(react@18.2.0)(ts-node@10.9.1(@swc/core@1.3.96)(@types/node@20.9.2)(typescript@5.2.2)) + storybook: + specifier: ^7.0.26 + version: 7.5.3 + typescript: + specifier: ^5.2.2 + version: 5.2.2 + vite: + specifier: ^4.5.3 + version: 4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0) + + packages/rules-engine: + dependencies: + jmespath: + specifier: ^0.16.0 + version: 0.16.0 + json-logic-js: + specifier: ^2.0.2 + version: 2.0.2 + xstate: + specifier: ^4.35.2 + version: 4.38.3 + devDependencies: + '@babel/core': + specifier: 7.17.9 + version: 7.17.9 + '@babel/preset-env': + specifier: 7.16.11 + version: 7.16.11(@babel/core@7.17.9) + '@babel/preset-typescript': + specifier: 7.16.7 + version: 7.16.7(@babel/core@7.17.9) + '@ballerine/config': +<<<<<<< Updated upstream + specifier: ^1.1.7 + version: link:../config + '@ballerine/eslint-config': + specifier: ^1.1.7 + version: link:../eslint-config +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config': + specifier: ^1.1.5 + version: 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@6.15.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@2.0.0)(eslint@8.54.0) +>>>>>>> Stashed changes '@cspell/cspell-types': specifier: ^6.31.1 version: 6.31.3 @@ -1573,7 +1650,11 @@ importers: version: 5.14.18(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@mui/x-date-pickers': specifier: ^6.10.2 +<<<<<<< Updated upstream version: 6.18.1(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@mui/material@5.14.18(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mui/system@5.15.6(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(date-fns@2.30.0)(dayjs@1.11.10)(luxon@3.4.4)(moment@2.29.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) +======= + version: 6.18.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@mui/material@5.14.18)(@mui/system@5.15.6)(@types/react@18.2.37)(date-fns@3.6.0)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0) +>>>>>>> Stashed changes '@radix-ui/react-accordion': specifier: ^1.1.2 version: 1.1.2(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -1657,11 +1738,19 @@ importers: version: 1.14.0 devDependencies: '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../config '@ballerine/eslint-config-react': specifier: ^2.0.7 version: link:../eslint-config-react +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config-react': + specifier: ^2.0.5 + version: 2.0.7(@ballerine/eslint-config@1.1.7)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.33.2) +>>>>>>> Stashed changes '@cspell/cspell-types': specifier: ^6.31.1 version: 6.31.3 @@ -1799,11 +1888,19 @@ importers: specifier: 7.16.7 version: 7.16.7(@babel/core@7.17.9) '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../config '@ballerine/eslint-config': specifier: ^1.1.7 version: link:../eslint-config +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config': + specifier: ^1.1.5 + version: 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@6.15.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@2.0.0)(eslint@8.54.0) +>>>>>>> Stashed changes '@cspell/cspell-types': specifier: ^6.31.1 version: 6.31.3 @@ -2086,11 +2183,19 @@ importers: specifier: 7.16.7 version: 7.16.7(@babel/core@7.17.9) '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../../packages/config '@ballerine/eslint-config': specifier: ^1.1.7 version: link:../../packages/eslint-config +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config': + specifier: ^1.1.5 + version: 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@6.15.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@2.0.0)(eslint@8.54.0) +>>>>>>> Stashed changes '@cspell/cspell-types': specifier: ^6.31.1 version: 6.31.3 @@ -2228,11 +2333,19 @@ importers: specifier: 7.16.7 version: 7.16.7(@babel/core@7.17.9) '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../../packages/config '@ballerine/eslint-config': specifier: ^1.1.7 version: link:../../packages/eslint-config +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config': + specifier: ^1.1.5 + version: 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@6.15.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@2.0.0)(eslint@8.54.0) +>>>>>>> Stashed changes '@cspell/cspell-types': specifier: ^6.31.1 version: 6.31.3 @@ -2626,11 +2739,19 @@ importers: version: 3.22.4 devDependencies: '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../../packages/config '@ballerine/eslint-config': specifier: ^1.1.7 version: link:../../packages/eslint-config +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config': + specifier: ^1.1.5 + version: 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.10.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@3.0.0)(eslint@8.54.0) +>>>>>>> Stashed changes '@cspell/cspell-types': specifier: ^6.31.1 version: 6.31.3 @@ -2801,11 +2922,19 @@ importers: version: 0.14.5 devDependencies: '@ballerine/config': +<<<<<<< Updated upstream specifier: ^1.1.7 version: link:../../packages/config '@ballerine/eslint-config': specifier: ^1.1.7 version: link:../../packages/eslint-config +======= + specifier: ^1.1.5 + version: 1.1.7 + '@ballerine/eslint-config': + specifier: ^1.1.5 + version: 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/parser@6.14.0)(eslint-config-prettier@9.0.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@3.0.0)(eslint@8.54.0) +>>>>>>> Stashed changes eslint: specifier: ^8.46.0 version: 8.54.0 @@ -2814,7 +2943,11 @@ importers: version: 9.0.0(eslint@8.54.0) eslint-config-standard-with-typescript: specifier: ^37.0.0 +<<<<<<< Updated upstream version: 37.0.0(eslint-plugin-import@2.29.1(eslint@8.54.0))(eslint-plugin-n@16.6.2(eslint@8.54.0))(eslint-plugin-promise@6.1.1(eslint@8.54.0))(eslint@8.54.0)(typescript@5.2.2) +======= + version: 37.0.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.54.0)(typescript@4.9.5) +>>>>>>> Stashed changes eslint-plugin-astro: specifier: ^0.28.0 version: 0.28.0(eslint@8.54.0) @@ -19004,7 +19137,312 @@ snapshots: '@balena/dockerignore@1.0.2': {} +<<<<<<< Updated upstream '@base2/pretty-print-object@1.0.1': {} +======= + /@ballerine/common@0.9.14: + resolution: {integrity: sha512-3MWFuiIJ8IqNyV31Cukvn7o0nZo7aclnIQQB2X8EZdmgZiTSnPT8B1xvCjsJcuy4k7ZrLP0H/OGZ7hZWSHwu6Q==} + engines: {node: '>=12'} + dependencies: + '@sinclair/typebox': 0.32.15 + ajv: 8.12.0 + json-schema-to-zod: 0.6.3 + lodash.isempty: 4.4.0 + zod: 3.22.4 + dev: false + + /@ballerine/config@1.1.7: + resolution: {integrity: sha512-EeryoM6xefWMTN7IC52xadXVJwEZH/IqBlMrD2vBg12HoDlfhHiivpzjMqshWid/RSqZOHEoJLD8MCMqd8K/HA==} + + /@ballerine/eslint-config-react@2.0.7(@ballerine/eslint-config@1.1.7)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.33.2): + resolution: {integrity: sha512-EtABAhA3awUlX5bWlHIdp8z9DYx48OKueYIKIxgCZ1ooL54aA7rTjFtNTHP5afzZfUxu9063Bk7zyTDlMpDyRA==} + peerDependencies: + '@ballerine/eslint-config': ^1.1.7 + eslint-plugin-react: ^7.33.2 + eslint-plugin-react-hooks: ^4.6.0 + dependencies: + '@ballerine/eslint-config': 1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@9.0.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@3.0.0)(eslint@8.54.0) + eslint-plugin-react: 7.33.2(eslint@8.54.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0) + dev: true + + /@ballerine/eslint-config@1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@6.15.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@2.0.0)(eslint@8.54.0): + resolution: {integrity: sha512-K6AcAovfz45nmeGhfqDCALjheymO89wOa8wcgyba0oMHbKteLUQosRXhrwIZx3yMxzz5b4qslNTq9o9wHZVzBg==} + peerDependencies: + '@stylistic/eslint-plugin-ts': ^1.6.2 + '@typescript-eslint/eslint-plugin': ^6.11.0 + '@typescript-eslint/parser': ^6.11.0 + eslint: ^8.53.0 + eslint-config-prettier: ^9.0.0 + eslint-plugin-prefer-arrow: ^1.2.3 + eslint-plugin-unused-imports: ^3.0.0 + dependencies: + '@stylistic/eslint-plugin-ts': 1.6.2(eslint@8.54.0)(typescript@5.1.6) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.1.6) + eslint: 8.54.0 + eslint-config-prettier: 6.15.0(eslint@8.54.0) + eslint-plugin-prefer-arrow: 1.2.3(eslint@8.54.0) + eslint-plugin-unused-imports: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0) + dev: true + + /@ballerine/eslint-config@1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.10.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@3.0.0)(eslint@8.54.0): + resolution: {integrity: sha512-K6AcAovfz45nmeGhfqDCALjheymO89wOa8wcgyba0oMHbKteLUQosRXhrwIZx3yMxzz5b4qslNTq9o9wHZVzBg==} + peerDependencies: + '@stylistic/eslint-plugin-ts': ^1.6.2 + '@typescript-eslint/eslint-plugin': ^6.11.0 + '@typescript-eslint/parser': ^6.11.0 + eslint: ^8.53.0 + eslint-config-prettier: ^9.0.0 + eslint-plugin-prefer-arrow: ^1.2.3 + eslint-plugin-unused-imports: ^3.0.0 + dependencies: + '@stylistic/eslint-plugin-ts': 1.6.2(eslint@8.54.0)(typescript@4.9.3) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@4.9.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@4.9.3) + eslint: 8.54.0 + eslint-config-prettier: 8.10.0(eslint@8.54.0) + eslint-plugin-prefer-arrow: 1.2.3(eslint@8.54.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0) + dev: true + + /@ballerine/eslint-config@1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@9.0.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@3.0.0)(eslint@8.54.0): + resolution: {integrity: sha512-K6AcAovfz45nmeGhfqDCALjheymO89wOa8wcgyba0oMHbKteLUQosRXhrwIZx3yMxzz5b4qslNTq9o9wHZVzBg==} + peerDependencies: + '@stylistic/eslint-plugin-ts': ^1.6.2 + '@typescript-eslint/eslint-plugin': ^6.11.0 + '@typescript-eslint/parser': ^6.11.0 + eslint: ^8.53.0 + eslint-config-prettier: ^9.0.0 + eslint-plugin-prefer-arrow: ^1.2.3 + eslint-plugin-unused-imports: ^3.0.0 + dependencies: + '@stylistic/eslint-plugin-ts': 1.6.2(eslint@8.54.0)(typescript@5.1.6) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.1.6) + eslint: 8.54.0 + eslint-config-prettier: 9.0.0(eslint@8.54.0) + eslint-plugin-prefer-arrow: 1.2.3(eslint@8.54.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0) + dev: true + + /@ballerine/eslint-config@1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/eslint-plugin@6.14.0)(@typescript-eslint/parser@6.14.0)(eslint-config-prettier@9.0.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@3.0.0)(eslint@8.56.0): + resolution: {integrity: sha512-K6AcAovfz45nmeGhfqDCALjheymO89wOa8wcgyba0oMHbKteLUQosRXhrwIZx3yMxzz5b4qslNTq9o9wHZVzBg==} + peerDependencies: + '@stylistic/eslint-plugin-ts': ^1.6.2 + '@typescript-eslint/eslint-plugin': ^6.11.0 + '@typescript-eslint/parser': ^6.11.0 + eslint: ^8.53.0 + eslint-config-prettier: ^9.0.0 + eslint-plugin-prefer-arrow: ^1.2.3 + eslint-plugin-unused-imports: ^3.0.0 + dependencies: + '@stylistic/eslint-plugin-ts': 1.6.2(eslint@8.56.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 6.14.0(@typescript-eslint/parser@6.14.0)(eslint@8.56.0)(typescript@4.9.5) + '@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@4.9.5) + eslint: 8.56.0 + eslint-config-prettier: 9.0.0(eslint@8.56.0) + eslint-plugin-prefer-arrow: 1.2.3(eslint@8.56.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.14.0)(eslint@8.56.0) + dev: false + + /@ballerine/eslint-config@1.1.7(@stylistic/eslint-plugin-ts@1.6.2)(@typescript-eslint/parser@6.14.0)(eslint-config-prettier@9.0.0)(eslint-plugin-prefer-arrow@1.2.3)(eslint-plugin-unused-imports@3.0.0)(eslint@8.54.0): + resolution: {integrity: sha512-K6AcAovfz45nmeGhfqDCALjheymO89wOa8wcgyba0oMHbKteLUQosRXhrwIZx3yMxzz5b4qslNTq9o9wHZVzBg==} + peerDependencies: + '@stylistic/eslint-plugin-ts': ^1.6.2 + '@typescript-eslint/eslint-plugin': ^6.11.0 + '@typescript-eslint/parser': ^6.11.0 + eslint: ^8.53.0 + eslint-config-prettier: ^9.0.0 + eslint-plugin-prefer-arrow: ^1.2.3 + eslint-plugin-unused-imports: ^3.0.0 + dependencies: + '@stylistic/eslint-plugin-ts': 1.6.2(eslint@8.54.0)(typescript@4.9.5) + '@typescript-eslint/parser': 6.14.0(eslint@8.54.0)(typescript@4.9.5) + eslint: 8.54.0 + eslint-config-prettier: 9.0.0(eslint@8.54.0) + eslint-plugin-prefer-arrow: 1.2.3(eslint@8.54.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0) + dev: true + + /@ballerine/react-pdf-toolkit@1.2.8(@mui/system@5.15.6)(@types/node@18.17.19)(@types/react-dom@18.2.15)(@types/react@18.2.37)(date-fns@3.6.0)(react-dom@18.2.0)(react-pdf-tailwind@2.2.1)(react@18.2.0)(ts-node@10.9.1)(vite@4.5.3): + resolution: {integrity: sha512-bCVwrkqxlooS6eTG2qKj4zvHI+NhFIp5n95tQd0QPwmrk7oeeiAgafnX8+FyvsZwbeiYSxF8IRom+0Bsy2btvQ==} + peerDependencies: + react: ^18.2.0 + react-dom: ^18.2.0 + react-pdf-tailwind: ^2.2.1 + dependencies: + '@ballerine/config': 1.1.7 + '@ballerine/ui': 0.5.8(@mui/system@5.15.6)(@types/react-dom@18.2.15)(@types/react@18.2.37)(date-fns@3.6.0) + '@react-pdf/renderer': 3.1.14(react@18.2.0) + '@sinclair/typebox': 0.31.26 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + class-variance-authority: 0.7.0 + dayjs: 1.11.10 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-pdf-tailwind: 2.2.1(react@18.2.0)(ts-node@10.9.1) + string-ts: 1.3.3 + tailwindcss: 3.4.0(ts-node@10.9.1) + vite-plugin-dts: 1.7.3(@types/node@18.17.19)(vite@4.5.3) + transitivePeerDependencies: + - '@mui/system' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - date-fns + - date-fns-jalali + - encoding + - luxon + - moment + - moment-hijri + - moment-jalaali + - rollup + - supports-color + - ts-node + - vite + dev: false + + /@ballerine/react-pdf-toolkit@1.2.8(@mui/system@5.15.6)(@types/node@18.17.19)(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react-pdf-tailwind@2.2.1)(react@18.2.0)(ts-node@10.9.1)(vite@4.5.3): + resolution: {integrity: sha512-bCVwrkqxlooS6eTG2qKj4zvHI+NhFIp5n95tQd0QPwmrk7oeeiAgafnX8+FyvsZwbeiYSxF8IRom+0Bsy2btvQ==} + peerDependencies: + react: ^18.2.0 + react-dom: ^18.2.0 + react-pdf-tailwind: ^2.2.1 + dependencies: + '@ballerine/config': 1.1.7 + '@ballerine/ui': 0.5.8(@mui/system@5.15.6)(@types/react-dom@18.2.17)(@types/react@18.2.43) + '@react-pdf/renderer': 3.1.14(react@18.2.0) + '@sinclair/typebox': 0.31.26 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + class-variance-authority: 0.7.0 + dayjs: 1.11.10 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-pdf-tailwind: 2.2.1(react@18.2.0)(ts-node@10.9.1) + string-ts: 1.3.3 + tailwindcss: 3.4.0(ts-node@10.9.1) + vite-plugin-dts: 1.7.3(@types/node@18.17.19)(vite@4.5.3) + transitivePeerDependencies: + - '@mui/system' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - date-fns + - date-fns-jalali + - encoding + - luxon + - moment + - moment-hijri + - moment-jalaali + - rollup + - supports-color + - ts-node + - vite + dev: false + + /@ballerine/ui@0.5.8(@mui/system@5.15.6)(@types/react-dom@18.2.15)(@types/react@18.2.37)(date-fns@3.6.0): + resolution: {integrity: sha512-19haB3GtHDG1Nl2CVaI1hOZ2J0ARwCIcEJ83Imwap3Eh7jXfIyqEpP1YY1WOIlAD4m9TFBzlRkj1GXrvB7IbxQ==} + dependencies: + '@ballerine/common': 0.9.14 + '@emotion/react': 11.11.1(@types/react@18.2.37)(react@18.2.0) + '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.37)(react@18.2.0) + '@mui/material': 5.14.18(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@mui/x-date-pickers': 6.18.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@mui/material@5.14.18)(@mui/system@5.15.6)(@types/react@18.2.37)(date-fns@3.6.0)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-accordion': 1.1.2(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-checkbox': 1.0.4(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.4(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dropdown-menu': 2.0.6(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-hover-card': 1.0.7(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-icons': 1.3.0(react@18.2.0) + '@radix-ui/react-label': 2.0.2(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-radio-group': 1.1.3(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-scroll-area': 1.0.5(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.37)(react@18.2.0) + '@rjsf/core': 5.14.2(@rjsf/utils@5.14.2)(react@18.2.0) + '@rjsf/utils': 5.14.2(react@18.2.0) + '@rjsf/validator-ajv8': 5.14.2(@rjsf/utils@5.14.2) + '@tanstack/react-table': 8.10.7(react-dom@18.2.0)(react@18.2.0) + class-variance-authority: 0.6.1 + clsx: 1.2.1 + cmdk: 0.2.0(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + dayjs: 1.11.10 + i18n-iso-countries: 7.7.0 + lodash: 4.17.21 + lucide-react: 0.144.0(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-json-view: 1.21.3(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) + react-phone-input-2: 2.15.1(react-dom@18.2.0)(react@18.2.0) + tailwind-merge: 1.14.0 + transitivePeerDependencies: + - '@mui/system' + - '@types/react' + - '@types/react-dom' + - date-fns + - date-fns-jalali + - encoding + - luxon + - moment + - moment-hijri + - moment-jalaali + dev: false + + /@ballerine/ui@0.5.8(@mui/system@5.15.6)(@types/react-dom@18.2.17)(@types/react@18.2.43): + resolution: {integrity: sha512-19haB3GtHDG1Nl2CVaI1hOZ2J0ARwCIcEJ83Imwap3Eh7jXfIyqEpP1YY1WOIlAD4m9TFBzlRkj1GXrvB7IbxQ==} + dependencies: + '@ballerine/common': 0.9.14 + '@emotion/react': 11.11.1(@types/react@18.2.43)(react@18.2.0) + '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.43)(react@18.2.0) + '@mui/material': 5.14.18(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@mui/x-date-pickers': 6.18.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@mui/material@5.14.18)(@mui/system@5.15.6)(@types/react@18.2.43)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-accordion': 1.1.2(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-checkbox': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dropdown-menu': 2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-hover-card': 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-icons': 1.3.0(react@18.2.0) + '@radix-ui/react-label': 2.0.2(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-radio-group': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-scroll-area': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.43)(react@18.2.0) + '@rjsf/core': 5.14.2(@rjsf/utils@5.14.2)(react@18.2.0) + '@rjsf/utils': 5.14.2(react@18.2.0) + '@rjsf/validator-ajv8': 5.14.2(@rjsf/utils@5.14.2) + '@tanstack/react-table': 8.10.7(react-dom@18.2.0)(react@18.2.0) + class-variance-authority: 0.6.1 + clsx: 1.2.1 + cmdk: 0.2.0(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + dayjs: 1.11.10 + i18n-iso-countries: 7.7.0 + lodash: 4.17.21 + lucide-react: 0.144.0(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-json-view: 1.21.3(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + react-phone-input-2: 2.15.1(react-dom@18.2.0)(react@18.2.0) + tailwind-merge: 1.14.0 + transitivePeerDependencies: + - '@mui/system' + - '@types/react' + - '@types/react-dom' + - date-fns + - date-fns-jalali + - encoding + - luxon + - moment + - moment-hijri + - moment-jalaali + dev: false + + /@base2/pretty-print-object@1.0.1: + resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} + dev: true +>>>>>>> Stashed changes '@bcoe/v8-coverage@0.2.3': {} @@ -19635,7 +20073,33 @@ snapshots: optionalDependencies: '@types/react': 18.2.37 +<<<<<<< Updated upstream '@emotion/serialize@1.1.2': +======= + /@emotion/react@11.11.1(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@emotion/babel-plugin': 11.11.0 + '@emotion/cache': 11.11.0 + '@emotion/serialize': 1.1.2 + '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) + '@emotion/utils': 1.2.1 + '@emotion/weak-memoize': 0.3.1 + '@types/react': 18.2.43 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + dev: false + + /@emotion/serialize@1.1.2: + resolution: {integrity: sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==} +>>>>>>> Stashed changes dependencies: '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 @@ -19658,7 +20122,34 @@ snapshots: optionalDependencies: '@types/react': 18.2.37 +<<<<<<< Updated upstream '@emotion/unitless@0.8.1': {} +======= + /@emotion/styled@11.11.0(@emotion/react@11.11.1)(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==} + peerDependencies: + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@emotion/babel-plugin': 11.11.0 + '@emotion/is-prop-valid': 1.2.1 + '@emotion/react': 11.11.1(@types/react@18.2.43)(react@18.2.0) + '@emotion/serialize': 1.1.2 + '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) + '@emotion/utils': 1.2.1 + '@types/react': 18.2.43 + react: 18.2.0 + dev: false + + /@emotion/unitless@0.8.1: + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + dev: false +>>>>>>> Stashed changes '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.2.0)': dependencies: @@ -20632,7 +21123,36 @@ snapshots: optionalDependencies: '@types/react': 18.2.37 +<<<<<<< Updated upstream '@mui/core-downloads-tracker@5.14.18': {} +======= + /@mui/base@5.0.0-beta.24(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-bKt2pUADHGQtqWDZ8nvL2Lvg2GNJyd/ZUgZAJoYzRgmnxBL9j36MSlS3+exEdYkikcnvVafcBtD904RypFKb0w==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0)(react@18.2.0) + '@mui/types': 7.2.13(@types/react@18.2.43) + '@mui/utils': 5.15.6(@types/react@18.2.43)(react@18.2.0) + '@popperjs/core': 2.11.8 + '@types/react': 18.2.43 + clsx: 2.1.0 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@mui/core-downloads-tracker@5.14.18: + resolution: {integrity: sha512-yFpF35fEVDV81nVktu0BE9qn2dD/chs7PsQhlyaV3EnTeZi9RZBuvoEfRym1/jmhJ2tcfeWXiRuHG942mQXJJQ==} + dev: false +>>>>>>> Stashed changes '@mui/material@5.14.18(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -20655,7 +21175,55 @@ snapshots: '@emotion/styled': 11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0) '@types/react': 18.2.37 +<<<<<<< Updated upstream '@mui/private-theming@5.15.6(@types/react@18.2.37)(react@18.2.0)': +======= + /@mui/material@5.14.18(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-y3UiR/JqrkF5xZR0sIKj6y7xwuEiweh9peiN3Zfjy1gXWXhz5wjlaLdoxFfKIEBUFfeQALxr/Y8avlHH+B9lpQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@emotion/react': ^11.5.0 + '@emotion/styled': ^11.3.0 + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@emotion/react': 11.11.1(@types/react@18.2.43)(react@18.2.0) + '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.43)(react@18.2.0) + '@mui/base': 5.0.0-beta.24(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@mui/core-downloads-tracker': 5.14.18 + '@mui/system': 5.15.6(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.43)(react@18.2.0) + '@mui/types': 7.2.13(@types/react@18.2.43) + '@mui/utils': 5.15.6(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-transition-group': 4.4.9 + clsx: 2.1.0 + csstype: 3.1.3 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-is: 18.2.0 + react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) + dev: false + + /@mui/private-theming@5.15.6(@types/react@18.2.37)(react@18.2.0): + resolution: {integrity: sha512-ZBX9E6VNUSscUOtU8uU462VvpvBS7eFl5VfxAzTRVQBHflzL+5KtnGrebgf6Nd6cdvxa1o0OomiaxSKoN2XDmg==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@mui/utils': 5.15.6(@types/react@18.2.37)(react@18.2.0) @@ -20664,7 +21232,39 @@ snapshots: optionalDependencies: '@types/react': 18.2.37 +<<<<<<< Updated upstream '@mui/styled-engine@5.15.6(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(react@18.2.0)': +======= + /@mui/private-theming@5.15.6(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-ZBX9E6VNUSscUOtU8uU462VvpvBS7eFl5VfxAzTRVQBHflzL+5KtnGrebgf6Nd6cdvxa1o0OomiaxSKoN2XDmg==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@mui/utils': 5.15.6(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + prop-types: 15.8.1 + react: 18.2.0 + dev: false + + /@mui/styled-engine@5.15.6(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0): + resolution: {integrity: sha512-KAn8P8xP/WigFKMlEYUpU9z2o7jJnv0BG28Qu1dhNQVutsLVIFdRf5Nb+0ijp2qgtcmygQ0FtfRuXv5LYetZTg==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@emotion/react': ^11.4.1 + '@emotion/styled': ^11.3.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@emotion/cache': 11.11.0 @@ -20686,16 +21286,82 @@ snapshots: csstype: 3.1.3 prop-types: 15.8.1 react: 18.2.0 +<<<<<<< Updated upstream optionalDependencies: '@emotion/react': 11.11.1(@types/react@18.2.37)(react@18.2.0) '@emotion/styled': 11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0) +======= + dev: false + + /@mui/system@5.15.6(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-J01D//u8IfXvaEHMBQX5aO2l7Q+P15nt96c4NskX7yp5/+UuZP8XCQJhtBtLuj+M2LLyXHYGmCPeblsmmscP2Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@emotion/react': ^11.5.0 + '@emotion/styled': ^11.3.0 + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@emotion/react': 11.11.1(@types/react@18.2.43)(react@18.2.0) + '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.43)(react@18.2.0) + '@mui/private-theming': 5.15.6(@types/react@18.2.43)(react@18.2.0) + '@mui/styled-engine': 5.15.6(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0) + '@mui/types': 7.2.13(@types/react@18.2.43) + '@mui/utils': 5.15.6(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + clsx: 2.1.0 + csstype: 3.1.3 + prop-types: 15.8.1 + react: 18.2.0 + dev: false + + /@mui/types@7.2.13(@types/react@18.2.37): + resolution: {integrity: sha512-qP9OgacN62s+l8rdDhSFRe05HWtLLJ5TGclC9I1+tQngbssu0m2dmFZs+Px53AcOs9fD7TbYd4gc9AXzVqO/+g==} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: +>>>>>>> Stashed changes '@types/react': 18.2.37 +<<<<<<< Updated upstream '@mui/types@7.2.13(@types/react@18.2.37)': optionalDependencies: '@types/react': 18.2.37 '@mui/utils@5.15.6(@types/react@18.2.37)(react@18.2.0)': +======= + /@mui/types@7.2.13(@types/react@18.2.43): + resolution: {integrity: sha512-qP9OgacN62s+l8rdDhSFRe05HWtLLJ5TGclC9I1+tQngbssu0m2dmFZs+Px53AcOs9fD7TbYd4gc9AXzVqO/+g==} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.43 + dev: false + + /@mui/utils@5.15.6(@types/react@18.2.37)(react@18.2.0): + resolution: {integrity: sha512-qfEhf+zfU9aQdbzo1qrSWlbPQhH1nCgeYgwhOVnj9Bn39shJQitEnXpSQpSNag8+uty5Od6PxmlNKPTnPySRKA==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@types/prop-types': 15.7.11 @@ -20705,7 +21371,64 @@ snapshots: optionalDependencies: '@types/react': 18.2.37 +<<<<<<< Updated upstream '@mui/x-date-pickers@6.18.1(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@mui/material@5.14.18(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mui/system@5.15.6(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(react@18.2.0))(@types/react@18.2.37)(date-fns@2.30.0)(dayjs@1.11.10)(luxon@3.4.4)(moment@2.29.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@mui/utils@5.15.6(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-qfEhf+zfU9aQdbzo1qrSWlbPQhH1nCgeYgwhOVnj9Bn39shJQitEnXpSQpSNag8+uty5Od6PxmlNKPTnPySRKA==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@types/prop-types': 15.7.11 + '@types/react': 18.2.43 + prop-types: 15.8.1 + react: 18.2.0 + react-is: 18.2.0 + dev: false + + /@mui/x-date-pickers@6.18.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@mui/material@5.14.18)(@mui/system@5.15.6)(@types/react@18.2.37)(date-fns@3.6.0)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-22gWCzejBGG4Kycpk/yYhzV6Pj/xVBvaz5A1rQmCD/0DCXTDJvXPG8qvzrNlp1wj8q+rAQO82e/+conUGgYgYg==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@emotion/react': ^11.9.0 + '@emotion/styled': ^11.8.1 + '@mui/material': ^5.8.6 + '@mui/system': ^5.8.0 + date-fns: ^2.25.0 + date-fns-jalali: ^2.13.0-0 + dayjs: ^1.10.7 + luxon: ^3.0.2 + moment: ^2.29.4 + moment-hijri: ^2.1.2 + moment-jalaali: ^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + date-fns: + optional: true + date-fns-jalali: + optional: true + dayjs: + optional: true + luxon: + optional: true + moment: + optional: true + moment-hijri: + optional: true + moment-jalaali: + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@mui/base': 5.0.0-beta.24(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -20714,6 +21437,66 @@ snapshots: '@mui/utils': 5.15.6(@types/react@18.2.37)(react@18.2.0) '@types/react-transition-group': 4.4.9 clsx: 2.1.0 +<<<<<<< Updated upstream +======= + date-fns: 3.6.0 + dayjs: 1.11.10 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + dev: false + + /@mui/x-date-pickers@6.18.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@mui/material@5.14.18)(@mui/system@5.15.6)(@types/react@18.2.43)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-22gWCzejBGG4Kycpk/yYhzV6Pj/xVBvaz5A1rQmCD/0DCXTDJvXPG8qvzrNlp1wj8q+rAQO82e/+conUGgYgYg==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@emotion/react': ^11.9.0 + '@emotion/styled': ^11.8.1 + '@mui/material': ^5.8.6 + '@mui/system': ^5.8.0 + date-fns: ^2.25.0 + date-fns-jalali: ^2.13.0-0 + dayjs: ^1.10.7 + luxon: ^3.0.2 + moment: ^2.29.4 + moment-hijri: ^2.1.2 + moment-jalaali: ^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + date-fns: + optional: true + date-fns-jalali: + optional: true + dayjs: + optional: true + luxon: + optional: true + moment: + optional: true + moment-hijri: + optional: true + moment-jalaali: + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@emotion/react': 11.11.1(@types/react@18.2.43)(react@18.2.0) + '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.43)(react@18.2.0) + '@mui/base': 5.0.0-beta.24(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@mui/material': 5.14.18(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@mui/system': 5.15.6(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.43)(react@18.2.0) + '@mui/utils': 5.15.6(@types/react@18.2.43)(react@18.2.0) + '@types/react-transition-group': 4.4.9 + clsx: 2.1.0 + dayjs: 1.11.10 +>>>>>>> Stashed changes prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -21125,7 +21908,44 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-arrow@1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-arrow@1.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1yientwXqXcErDHEv8av9ZVNEBldH8L9scVR3is20lL+jOCfcJyMFZFEY5cgIrgexsq1qggSXqiEL/d/4f+QXA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -21161,6 +21981,11 @@ snapshots: optionalDependencies: '@types/react': 18.2.43 '@types/react-dom': 18.2.17 +<<<<<<< Updated upstream +======= + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) +>>>>>>> Stashed changes '@radix-ui/react-aspect-ratio@1.0.3(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -21202,7 +22027,50 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.2 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/primitive': 1.0.1 @@ -21219,7 +22087,50 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.37)(react@18.2.0) @@ -21254,9 +22165,47 @@ snapshots: '@radix-ui/react-slot': 1.0.2(@types/react@18.2.43)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 '@types/react-dom': 18.2.17 +======= + + /@radix-ui/react-compose-refs@1.0.0(react@18.2.0): + resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.23.8 + react: 18.2.0 + dev: false + + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.37)(react@18.2.0): + resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@types/react': 18.2.37 + react: 18.2.0 + + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@types/react': 18.2.43 + react: 18.2.0 +>>>>>>> Stashed changes '@radix-ui/react-compose-refs@1.0.0(react@18.2.0)': dependencies: @@ -21274,8 +22223,11 @@ snapshots: dependencies: '@babel/runtime': 7.23.8 react: 18.2.0 +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 +======= +>>>>>>> Stashed changes '@radix-ui/react-context@1.0.0(react@18.2.0)': dependencies: @@ -21318,7 +22270,49 @@ snapshots: transitivePeerDependencies: - '@types/react' +<<<<<<< Updated upstream '@radix-ui/react-dialog@1.0.4(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-dialog@1.0.0(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/primitive': 1.0.0 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + '@radix-ui/react-context': 1.0.0(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.0(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.0(react@18.2.0) + '@radix-ui/react-portal': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.0(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0) + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.4(@types/react@18.2.43)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + dev: false + + /@radix-ui/react-dialog@1.0.4(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hJtRy/jPULGQZceSAP2Re6/4NpKo8im6V8P2hUqZsdFiSL8l35kYsw3qbRI6Ay5mQd2+wlLqje770eq+RJ3yZg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 @@ -21337,7 +22331,56 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-remove-scroll: 2.5.5(@types/react@18.2.37)(react@18.2.0) +<<<<<<< Updated upstream optionalDependencies: +======= + dev: false + + /@radix-ui/react-dialog@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hJtRy/jPULGQZceSAP2Re6/4NpKo8im6V8P2hUqZsdFiSL8l35kYsw3qbRI6Ay5mQd2+wlLqje770eq+RJ3yZg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.2 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.43)(react@18.2.0) + dev: false + + /@radix-ui/react-direction@1.0.1(@types/react@18.2.37)(react@18.2.0): + resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 +>>>>>>> Stashed changes '@types/react': 18.2.37 '@types/react-dom': 18.2.15 @@ -21345,8 +22388,11 @@ snapshots: dependencies: '@babel/runtime': 7.23.8 react: 18.2.0 +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.37 +======= +>>>>>>> Stashed changes '@radix-ui/react-direction@1.0.1(@types/react@18.2.43)(react@18.2.0)': dependencies: @@ -21415,9 +22461,12 @@ snapshots: '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.43)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 '@types/react-dom': 18.2.17 +======= +>>>>>>> Stashed changes '@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -21433,7 +22482,47 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 @@ -21445,7 +22534,58 @@ snapshots: '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.37)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) +<<<<<<< Updated upstream optionalDependencies: +======= + dev: false + + /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.2 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-focus-guards@1.0.0(react@18.2.0): + resolution: {integrity: sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.23.8 + react: 18.2.0 + dev: false + + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.37)(react@18.2.0): + resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 +>>>>>>> Stashed changes '@types/react': 18.2.37 '@types/react-dom': 18.2.15 @@ -21509,9 +22649,12 @@ snapshots: '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.43)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 '@types/react-dom': 18.2.17 +======= +>>>>>>> Stashed changes '@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -21525,7 +22668,38 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-hover-card@1.0.2(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-hover-card@1.0.2(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-LOqJAHdjjLoIhOCHdFO5ASkNACG/wwPQljzrm4U53n1Uxa1Crheazs82dST1946zgu4p0U4IrFmuQ6PTODIlkw==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/primitive': 1.0.0 @@ -21560,7 +22734,43 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-icons@1.3.0(react@18.2.0)': +======= + /@radix-ui/react-hover-card@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-OcUN2FU0YpmajD/qkph3XzMcK/NmSk9hGWnjV68p6QiZMgILugusgQwnLSDs3oFSJYGKf3Y49zgFedhGh04k9A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.2 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-icons@1.3.0(react@18.2.0): + resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==} + peerDependencies: + react: ^16.x || ^17.x || ^18.x +>>>>>>> Stashed changes dependencies: react: 18.2.0 @@ -21583,8 +22793,11 @@ snapshots: '@babel/runtime': 7.23.8 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.43)(react@18.2.0) react: 18.2.0 +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 +======= +>>>>>>> Stashed changes '@radix-ui/react-label@2.0.2(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -21596,7 +22809,43 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-label@2.0.2(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.2 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/primitive': 1.0.1 @@ -21623,7 +22872,60 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.43)(react@18.2.0) + dev: false + + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/primitive': 1.0.1 @@ -21647,7 +22949,50 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-popper@1.0.1(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.43)(react@18.2.0) + dev: false + + /@radix-ui/react-popper@1.0.1(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-J4Vj7k3k+EHNWgcKrE+BLlQfpewxA7Zd76h5I0bIa+/EqaIZ3DuwrbPj49O3wqN+STnXsBuxiHLiF0iU3yfovw==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@floating-ui/react-dom': 0.7.2(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -21740,7 +23085,45 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-portal@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/rect': 1.0.1 + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-portal@1.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -21783,6 +23166,11 @@ snapshots: optionalDependencies: '@types/react': 18.2.43 '@types/react-dom': 18.2.17 +<<<<<<< Updated upstream +======= + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) +>>>>>>> Stashed changes '@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -21794,7 +23182,36 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-presence@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-presence@1.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) @@ -21813,7 +23230,37 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-primitive@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-primitive@1.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/react-slot': 1.0.0(react@18.2.0) @@ -21853,9 +23300,12 @@ snapshots: '@radix-ui/react-slot': 1.0.2(@types/react@18.2.43)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 '@types/react-dom': 18.2.17 +======= +>>>>>>> Stashed changes '@radix-ui/react-radio-group@1.1.3(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -21876,7 +23326,52 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-radio-group@1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/primitive': 1.0.1 @@ -21926,9 +23421,12 @@ snapshots: '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.43)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 '@types/react-dom': 18.2.17 +======= +>>>>>>> Stashed changes '@radix-ui/react-scroll-area@1.0.5(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -21948,7 +23446,51 @@ snapshots: '@types/react': 18.2.37 '@types/react-dom': 18.2.15 +<<<<<<< Updated upstream '@radix-ui/react-select@1.2.2(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': +======= + /@radix-ui/react-scroll-area@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.2 + '@radix-ui/number': 1.0.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.43)(react@18.2.0) + '@types/react': 18.2.43 + '@types/react-dom': 18.2.17 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-select@1.2.2(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true +>>>>>>> Stashed changes dependencies: '@babel/runtime': 7.23.8 '@radix-ui/number': 1.0.1 @@ -22093,8 +23635,11 @@ snapshots: '@babel/runtime': 7.23.8 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.43)(react@18.2.0) react: 18.2.0 +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 +======= +>>>>>>> Stashed changes '@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -22322,6 +23867,10 @@ snapshots: react: 18.2.0 optionalDependencies: '@types/react': 18.2.43 +<<<<<<< Updated upstream +======= + react: 18.2.0 +>>>>>>> Stashed changes '@radix-ui/react-use-escape-keydown@1.0.0(react@18.2.0)': dependencies: @@ -22350,6 +23899,10 @@ snapshots: react: 18.2.0 optionalDependencies: '@types/react': 18.2.43 +<<<<<<< Updated upstream +======= + react: 18.2.0 +>>>>>>> Stashed changes '@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0)': dependencies: @@ -22369,6 +23922,10 @@ snapshots: react: 18.2.0 optionalDependencies: '@types/react': 18.2.43 +<<<<<<< Updated upstream +======= + react: 18.2.0 +>>>>>>> Stashed changes '@radix-ui/react-use-previous@1.0.1(@types/react@18.2.37)(react@18.2.0)': dependencies: @@ -22381,8 +23938,11 @@ snapshots: dependencies: '@babel/runtime': 7.23.8 react: 18.2.0 +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 +======= +>>>>>>> Stashed changes '@radix-ui/react-use-rect@1.0.0(react@18.2.0)': dependencies: @@ -22403,8 +23963,11 @@ snapshots: '@babel/runtime': 7.23.8 '@radix-ui/rect': 1.0.1 react: 18.2.0 +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 +======= +>>>>>>> Stashed changes '@radix-ui/react-use-size@1.0.0(react@18.2.0)': dependencies: @@ -22425,8 +23988,11 @@ snapshots: '@babel/runtime': 7.23.8 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.43)(react@18.2.0) react: 18.2.0 +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 +======= +>>>>>>> Stashed changes '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.15)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -24531,7 +26097,43 @@ snapshots: eslint-visitor-keys: 3.4.3 espree: 9.6.1 +<<<<<<< Updated upstream '@stylistic/eslint-plugin-ts@1.6.2(eslint@8.53.0)(typescript@5.2.2)': +======= + /@stylistic/eslint-plugin-js@1.6.2(eslint@8.54.0): + resolution: {integrity: sha512-ndT6X2KgWGxv8101pdMOxL8pihlYIHcOv3ICd70cgaJ9exwkPn8hJj4YQwslxoAlre1TFHnXd/G1/hYXgDrjIA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@types/eslint': 8.56.5 + acorn: 8.11.3 + escape-string-regexp: 4.0.0 + eslint: 8.54.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + dev: true + + /@stylistic/eslint-plugin-js@1.6.2(eslint@8.56.0): + resolution: {integrity: sha512-ndT6X2KgWGxv8101pdMOxL8pihlYIHcOv3ICd70cgaJ9exwkPn8hJj4YQwslxoAlre1TFHnXd/G1/hYXgDrjIA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@types/eslint': 8.56.5 + acorn: 8.11.3 + escape-string-regexp: 4.0.0 + eslint: 8.56.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + dev: false + + /@stylistic/eslint-plugin-ts@1.6.2(eslint@8.53.0)(typescript@4.9.5): + resolution: {integrity: sha512-FizV58em0OjO/xFHRIy/LJJVqzxCNmYC/xVtKDf8aGDRgZpLo+lkaBKfBrbMkAGzhBKbYj+iLEFI4WEl6aVZGQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' +>>>>>>> Stashed changes dependencies: '@stylistic/eslint-plugin-js': 1.6.2(eslint@8.53.0) '@types/eslint': 8.56.5 @@ -24541,7 +26143,77 @@ snapshots: - supports-color - typescript +<<<<<<< Updated upstream '@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.2(svelte@3.59.2)(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)))(svelte@3.59.2)(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0))': +======= + /@stylistic/eslint-plugin-ts@1.6.2(eslint@8.54.0)(typescript@4.9.3): + resolution: {integrity: sha512-FizV58em0OjO/xFHRIy/LJJVqzxCNmYC/xVtKDf8aGDRgZpLo+lkaBKfBrbMkAGzhBKbYj+iLEFI4WEl6aVZGQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.6.2(eslint@8.54.0) + '@types/eslint': 8.56.5 + '@typescript-eslint/utils': 6.21.0(eslint@8.54.0)(typescript@4.9.3) + eslint: 8.54.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@stylistic/eslint-plugin-ts@1.6.2(eslint@8.54.0)(typescript@4.9.5): + resolution: {integrity: sha512-FizV58em0OjO/xFHRIy/LJJVqzxCNmYC/xVtKDf8aGDRgZpLo+lkaBKfBrbMkAGzhBKbYj+iLEFI4WEl6aVZGQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.6.2(eslint@8.54.0) + '@types/eslint': 8.56.5 + '@typescript-eslint/utils': 6.21.0(eslint@8.54.0)(typescript@4.9.5) + eslint: 8.54.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@stylistic/eslint-plugin-ts@1.6.2(eslint@8.54.0)(typescript@5.1.6): + resolution: {integrity: sha512-FizV58em0OjO/xFHRIy/LJJVqzxCNmYC/xVtKDf8aGDRgZpLo+lkaBKfBrbMkAGzhBKbYj+iLEFI4WEl6aVZGQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.6.2(eslint@8.54.0) + '@types/eslint': 8.56.5 + '@typescript-eslint/utils': 6.21.0(eslint@8.54.0)(typescript@5.1.6) + eslint: 8.54.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@stylistic/eslint-plugin-ts@1.6.2(eslint@8.56.0)(typescript@4.9.5): + resolution: {integrity: sha512-FizV58em0OjO/xFHRIy/LJJVqzxCNmYC/xVtKDf8aGDRgZpLo+lkaBKfBrbMkAGzhBKbYj+iLEFI4WEl6aVZGQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.6.2(eslint@8.56.0) + '@types/eslint': 8.56.5 + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@4.9.5) + eslint: 8.56.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@3.59.2)(vite@4.5.3): + resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==} + engines: {node: ^14.18.0 || >= 16} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^2.2.0 + svelte: ^3.54.0 || ^4.0.0 + vite: ^4.0.0 +>>>>>>> Stashed changes dependencies: '@sveltejs/vite-plugin-svelte': 2.5.2(svelte@3.59.2)(vite@4.5.3(@types/node@20.9.2)(sass@1.69.5)(terser@5.27.0)) debug: 4.3.4(supports-color@8.1.1) @@ -25480,7 +27152,44 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@typescript-eslint/experimental-utils@4.33.0(eslint@8.54.0)(typescript@4.9.5)': +======= + /@typescript-eslint/eslint-plugin@6.14.0(@typescript-eslint/parser@6.14.0)(eslint@8.56.0)(typescript@4.9.5): + resolution: {integrity: sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.14.0 + '@typescript-eslint/type-utils': 6.14.0(eslint@8.56.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.14.0 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.56.0 + graphemer: 1.4.0 + ignore: 5.3.0 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/experimental-utils@4.33.0(eslint@8.54.0)(typescript@4.9.5): + resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: '*' +>>>>>>> Stashed changes dependencies: '@types/json-schema': 7.0.15 '@typescript-eslint/scope-manager': 4.33.0 @@ -25579,7 +27288,40 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@typescript-eslint/parser@6.14.0(eslint@8.55.0)(typescript@5.2.2)': +======= + /@typescript-eslint/parser@6.14.0(eslint@8.54.0)(typescript@4.9.5): + resolution: {integrity: sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.14.0 + '@typescript-eslint/types': 6.14.0 + '@typescript-eslint/typescript-estree': 6.14.0(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.14.0 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.54.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.14.0(eslint@8.55.0)(typescript@5.2.2): + resolution: {integrity: sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true +>>>>>>> Stashed changes dependencies: '@typescript-eslint/scope-manager': 6.14.0 '@typescript-eslint/types': 6.14.0 @@ -25592,7 +27334,34 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@typescript-eslint/scope-manager@4.33.0': +======= + /@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@4.9.5): + resolution: {integrity: sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.14.0 + '@typescript-eslint/types': 6.14.0 + '@typescript-eslint/typescript-estree': 6.14.0(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.14.0 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.56.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/scope-manager@4.33.0: + resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} +>>>>>>> Stashed changes dependencies: '@typescript-eslint/types': 4.33.0 '@typescript-eslint/visitor-keys': 4.33.0 @@ -25689,15 +27458,52 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@typescript-eslint/types@4.33.0': {} +======= + /@typescript-eslint/type-utils@6.14.0(eslint@8.56.0)(typescript@4.9.5): + resolution: {integrity: sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.14.0(typescript@4.9.5) + '@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.56.0 + ts-api-utils: 1.0.3(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/types@4.33.0: + resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + dev: true +>>>>>>> Stashed changes '@typescript-eslint/types@5.62.0': {} '@typescript-eslint/types@6.11.0': {} +<<<<<<< Updated upstream '@typescript-eslint/types@6.14.0': {} '@typescript-eslint/types@6.21.0': {} +======= + /@typescript-eslint/types@6.14.0: + resolution: {integrity: sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==} + engines: {node: ^16.0.0 || >=18.0.0} + + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} +>>>>>>> Stashed changes '@typescript-eslint/typescript-estree@4.33.0(typescript@4.9.5)': dependencies: @@ -25797,7 +27603,38 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@typescript-eslint/typescript-estree@6.14.0(typescript@5.2.2)': +======= + /@typescript-eslint/typescript-estree@6.14.0(typescript@4.9.5): + resolution: {integrity: sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.14.0 + '@typescript-eslint/visitor-keys': 6.14.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + /@typescript-eslint/typescript-estree@6.14.0(typescript@5.2.2): + resolution: {integrity: sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true +>>>>>>> Stashed changes dependencies: '@typescript-eslint/types': 6.14.0 '@typescript-eslint/visitor-keys': 6.14.0 @@ -25811,7 +27648,40 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@typescript-eslint/typescript-estree@6.21.0(typescript@5.2.2)': +======= + /@typescript-eslint/typescript-estree@6.21.0(typescript@4.9.3): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@4.9.3) + typescript: 4.9.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@6.21.0(typescript@4.9.5): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true +>>>>>>> Stashed changes dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 @@ -25825,6 +27695,31 @@ snapshots: typescript: 5.2.2 transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream +======= + + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.1.6): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true +>>>>>>> Stashed changes '@typescript-eslint/utils@5.62.0(eslint@8.22.0)(typescript@4.9.5)': dependencies: @@ -25914,7 +27809,34 @@ snapshots: - supports-color - typescript +<<<<<<< Updated upstream '@typescript-eslint/utils@6.21.0(eslint@8.53.0)(typescript@5.2.2)': +======= + /@typescript-eslint/utils@6.14.0(eslint@8.56.0)(typescript@4.9.5): + resolution: {integrity: sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.5 + '@typescript-eslint/scope-manager': 6.14.0 + '@typescript-eslint/types': 6.14.0 + '@typescript-eslint/typescript-estree': 6.14.0(typescript@4.9.5) + eslint: 8.56.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /@typescript-eslint/utils@6.21.0(eslint@8.53.0)(typescript@4.9.5): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 +>>>>>>> Stashed changes dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@types/json-schema': 7.0.15 @@ -25928,7 +27850,89 @@ snapshots: - supports-color - typescript +<<<<<<< Updated upstream '@typescript-eslint/visitor-keys@4.33.0': +======= + /@typescript-eslint/utils@6.21.0(eslint@8.54.0)(typescript@4.9.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.5 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@4.9.3) + eslint: 8.54.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@6.21.0(eslint@8.54.0)(typescript@4.9.5): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.5 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@4.9.5) + eslint: 8.54.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@6.21.0(eslint@8.54.0)(typescript@5.1.6): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.5 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.1.6) + eslint: 8.54.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@4.9.5): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.5 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@4.9.5) + eslint: 8.56.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /@typescript-eslint/visitor-keys@4.33.0: + resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} +>>>>>>> Stashed changes dependencies: '@typescript-eslint/types': 4.33.0 eslint-visitor-keys: 2.1.0 @@ -27361,7 +29365,28 @@ snapshots: transitivePeerDependencies: - '@types/react' +<<<<<<< Updated upstream co@4.6.0: {} +======= + /cmdk@0.2.0(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + command-score: 0.1.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + dev: false + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true +>>>>>>> Stashed changes code-block-writer@11.0.3: {} @@ -28842,12 +30867,38 @@ snapshots: dependencies: eslint: 8.54.0 +<<<<<<< Updated upstream eslint-config-standard-with-typescript@37.0.0(eslint-plugin-import@2.29.1(eslint@8.54.0))(eslint-plugin-n@16.6.2(eslint@8.54.0))(eslint-plugin-promise@6.1.1(eslint@8.54.0))(eslint@8.54.0)(typescript@5.2.2): dependencies: '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2) eslint: 8.54.0 eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1(eslint@8.54.0))(eslint-plugin-n@16.6.2(eslint@8.54.0))(eslint-plugin-promise@6.1.1(eslint@8.54.0))(eslint@8.54.0) eslint-plugin-import: 2.29.1(eslint@8.54.0) +======= + /eslint-config-prettier@9.0.0(eslint@8.56.0): + resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.56.0 + dev: false + + /eslint-config-standard-with-typescript@37.0.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.54.0)(typescript@4.9.5): + resolution: {integrity: sha512-V8I/Q1eFf9tiOuFHkbksUdWO3p1crFmewecfBtRxXdnvb71BCJx+1xAknlIRZMwZioMX3/bPtMVCZsf1+AjjOw==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.52.0 + eslint: ^8.0.1 + eslint-plugin-import: ^2.25.2 + eslint-plugin-n: '^15.0.0 || ^16.0.0 ' + eslint-plugin-promise: ^6.0.0 + typescript: '*' + dependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@4.9.5) + eslint: 8.54.0 + eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.54.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.14.0)(eslint@8.54.0) +>>>>>>> Stashed changes eslint-plugin-n: 16.6.2(eslint@8.54.0) eslint-plugin-promise: 6.1.1(eslint@8.54.0) typescript: 5.2.2 @@ -28857,7 +30908,11 @@ snapshots: eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1(eslint@8.54.0))(eslint-plugin-n@16.6.2(eslint@8.54.0))(eslint-plugin-promise@6.1.1(eslint@8.54.0))(eslint@8.54.0): dependencies: eslint: 8.54.0 +<<<<<<< Updated upstream eslint-plugin-import: 2.29.1(eslint@8.54.0) +======= + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.14.0)(eslint@8.54.0) +>>>>>>> Stashed changes eslint-plugin-n: 16.6.2(eslint@8.54.0) eslint-plugin-promise: 6.1.1(eslint@8.54.0) @@ -28945,7 +31000,44 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream eslint-plugin-astro@0.28.0(eslint@8.54.0): +======= + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.14.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.14.0(eslint@8.54.0)(typescript@4.9.5) + debug: 3.2.7 + eslint: 8.54.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-astro@0.28.0(eslint@8.54.0): + resolution: {integrity: sha512-fZ3B93nXLSXMmEYSAnHkDRBKDbUFuIkWj5CoKE4fxjPnE/EZEHu6zxtX2UJZeclJKu33Uf2mWdeCJKFufyracg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=7.0.0' +>>>>>>> Stashed changes dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) '@jridgewell/sourcemap-codec': 1.4.15 @@ -29054,6 +31146,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color +<<<<<<< Updated upstream eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): dependencies: array-includes: 3.1.7 @@ -29083,6 +31176,19 @@ snapshots: eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@5.1.6))(eslint@8.54.0): dependencies: +======= + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.14.0)(eslint@8.54.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 6.14.0(eslint@8.54.0)(typescript@4.9.5) +>>>>>>> Stashed changes array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -29091,6 +31197,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 +<<<<<<< Updated upstream eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@5.1.6))(eslint-import-resolver-node@0.3.9)(eslint@8.54.0) hasown: 2.0.0 is-core-module: 2.13.1 @@ -29119,6 +31226,9 @@ snapshots: eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@4.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@4.9.3))(eslint-plugin-import@2.29.0)(eslint@8.54.0))(eslint@8.54.0) +======= + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.14.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0) +>>>>>>> Stashed changes hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -29152,7 +31262,31 @@ snapshots: dependencies: eslint: 8.53.0 +<<<<<<< Updated upstream eslint-plugin-promise@6.1.1(eslint@8.54.0): +======= + /eslint-plugin-prefer-arrow@1.2.3(eslint@8.54.0): + resolution: {integrity: sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==} + peerDependencies: + eslint: '>=2.0.0' + dependencies: + eslint: 8.54.0 + dev: true + + /eslint-plugin-prefer-arrow@1.2.3(eslint@8.56.0): + resolution: {integrity: sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==} + peerDependencies: + eslint: '>=2.0.0' + dependencies: + eslint: 8.56.0 + dev: false + + /eslint-plugin-promise@6.1.1(eslint@8.54.0): + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 +>>>>>>> Stashed changes dependencies: eslint: 8.54.0 @@ -29204,7 +31338,40 @@ snapshots: semver: 6.3.1 string.prototype.matchall: 4.0.10 +<<<<<<< Updated upstream eslint-plugin-react@7.33.2(eslint@8.56.0): +======= + /eslint-plugin-react@7.33.2(eslint@8.54.0): + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.2 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.15 + eslint: 8.54.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.10 + dev: true + + /eslint-plugin-react@7.33.2(eslint@8.56.0): + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 +>>>>>>> Stashed changes dependencies: array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 @@ -29284,6 +31451,10 @@ snapshots: eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@5.1.6))(eslint@8.54.0)(typescript@5.1.6))(eslint@8.54.0): dependencies: +<<<<<<< Updated upstream +======= + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.1.6) +>>>>>>> Stashed changes eslint: 8.54.0 eslint-rule-composer: 0.3.0 optionalDependencies: @@ -29296,10 +31467,31 @@ snapshots: optionalDependencies: '@typescript-eslint/eslint-plugin': 6.11.0(@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2))(eslint@8.53.0)(typescript@5.2.2) +<<<<<<< Updated upstream eslint-plugin-unused-imports@3.0.0(eslint@8.54.0): dependencies: eslint: 8.54.0 eslint-rule-composer: 0.3.0 +======= + /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.14.0)(eslint@8.56.0): + resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^6.0.0 + eslint: ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.14.0(@typescript-eslint/parser@6.14.0)(eslint@8.56.0)(typescript@4.9.5) + eslint: 8.56.0 + eslint-rule-composer: 0.3.0 + dev: false + + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} +>>>>>>> Stashed changes eslint-rule-composer@0.3.0: {} @@ -34107,7 +36299,33 @@ snapshots: - '@types/react' - encoding +<<<<<<< Updated upstream react-leaflet@4.2.1(leaflet@1.9.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): +======= + /react-json-view@1.21.3(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==} + peerDependencies: + react: ^17.0.0 || ^16.3.0 || ^15.5.4 + react-dom: ^17.0.0 || ^16.3.0 || ^15.5.4 + dependencies: + flux: 4.0.4(react@18.2.0) + react: 18.2.0 + react-base16-styling: 0.6.0 + react-dom: 18.2.0(react@18.2.0) + react-lifecycles-compat: 3.0.4 + react-textarea-autosize: 8.5.3(@types/react@18.2.43)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - encoding + dev: false + + /react-leaflet@4.2.1(leaflet@1.9.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-p9chkvhcKrWn/H/1FFeVSqLdReGwn2qmiobOQGO3BifX+/vV/39qhY8dGqbdcPh1e6jxh/QHriLXr7a4eLFK4Q==} + peerDependencies: + leaflet: ^1.9.0 + react: ^18.0.0 + react-dom: ^18.0.0 +>>>>>>> Stashed changes dependencies: '@react-leaflet/core': 2.1.0(leaflet@1.9.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) leaflet: 1.9.4 @@ -34151,7 +36369,77 @@ snapshots: react: 18.2.0 react-style-singleton: 2.2.1(@types/react@18.2.43)(react@18.2.0) tslib: 2.6.2 +<<<<<<< Updated upstream optionalDependencies: +======= + + /react-remove-scroll@2.5.4(@types/react@18.2.37)(react@18.2.0): + resolution: {integrity: sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.37 + react: 18.2.0 + react-remove-scroll-bar: 2.3.4(@types/react@18.2.37)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.37)(react@18.2.0) + tslib: 2.6.2 + use-callback-ref: 1.3.0(@types/react@18.2.37)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.37)(react@18.2.0) + dev: false + + /react-remove-scroll@2.5.4(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.43 + react: 18.2.0 + react-remove-scroll-bar: 2.3.4(@types/react@18.2.43)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.43)(react@18.2.0) + tslib: 2.6.2 + use-callback-ref: 1.3.0(@types/react@18.2.43)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.43)(react@18.2.0) + dev: false + + /react-remove-scroll@2.5.5(@types/react@18.2.37)(react@18.2.0): + resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.37 + react: 18.2.0 + react-remove-scroll-bar: 2.3.4(@types/react@18.2.37)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.37)(react@18.2.0) + tslib: 2.6.2 + use-callback-ref: 1.3.0(@types/react@18.2.37)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.37)(react@18.2.0) + + /react-remove-scroll@2.5.5(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: +>>>>>>> Stashed changes '@types/react': 18.2.43 react-remove-scroll@2.5.4(@types/react@18.2.37)(react@18.2.0): @@ -34184,8 +36472,11 @@ snapshots: tslib: 2.6.2 use-callback-ref: 1.3.0(@types/react@18.2.43)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.43)(react@18.2.0) +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 +======= +>>>>>>> Stashed changes react-resize-detector@7.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: @@ -34246,8 +36537,11 @@ snapshots: invariant: 2.2.4 react: 18.2.0 tslib: 2.6.2 +<<<<<<< Updated upstream optionalDependencies: '@types/react': 18.2.43 +======= +>>>>>>> Stashed changes react-textarea-autosize@8.5.3(@types/react@18.2.37)(react@18.2.0): dependencies: @@ -34258,7 +36552,29 @@ snapshots: transitivePeerDependencies: - '@types/react' +<<<<<<< Updated upstream react-transition-group@2.9.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): +======= + /react-textarea-autosize@8.5.3(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} + engines: {node: '>=10'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.23.8 + react: 18.2.0 + use-composed-ref: 1.3.0(react@18.2.0) + use-latest: 1.2.1(@types/react@18.2.43)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + dev: false + + /react-transition-group@2.9.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==} + peerDependencies: + react: '>=15.0.0' + react-dom: '>=15.0.0' +>>>>>>> Stashed changes dependencies: dom-helpers: 3.4.0 loose-envify: 1.4.0 @@ -35955,7 +38271,41 @@ snapshots: trough@2.1.0: {} +<<<<<<< Updated upstream ts-api-utils@1.0.3(typescript@5.2.2): +======= + /ts-api-utils@1.0.3(typescript@4.9.3): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 4.9.3 + dev: true + + /ts-api-utils@1.0.3(typescript@4.9.5): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 4.9.5 + + /ts-api-utils@1.0.3(typescript@5.1.6): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.1.6 + dev: true + + /ts-api-utils@1.0.3(typescript@5.2.2): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' +>>>>>>> Stashed changes dependencies: typescript: 5.2.2 @@ -36571,6 +38921,11 @@ snapshots: tslib: 2.6.2 optionalDependencies: '@types/react': 18.2.43 +<<<<<<< Updated upstream +======= + react: 18.2.0 + tslib: 2.6.2 +>>>>>>> Stashed changes use-composed-ref@1.3.0(react@18.2.0): dependencies: @@ -36586,14 +38941,67 @@ snapshots: optionalDependencies: '@types/react': 18.2.37 +<<<<<<< Updated upstream use-latest@1.2.1(@types/react@18.2.37)(react@18.2.0): +======= + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.43 + react: 18.2.0 + dev: false + + /use-latest@1.2.1(@types/react@18.2.37)(react@18.2.0): + resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true +>>>>>>> Stashed changes dependencies: react: 18.2.0 use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.37)(react@18.2.0) optionalDependencies: '@types/react': 18.2.37 +<<<<<<< Updated upstream use-query-params@2.2.1(react-dom@18.2.0(react@18.2.0))(react-router-dom@6.19.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0): +======= + /use-latest@1.2.1(@types/react@18.2.43)(react@18.2.0): + resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.43 + react: 18.2.0 + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.43)(react@18.2.0) + dev: false + + /use-query-params@2.2.1(react-dom@18.2.0)(react-router-dom@6.19.0)(react@18.2.0): + resolution: {integrity: sha512-i6alcyLB8w9i3ZK3caNftdb+UnbfBRNPDnc89CNQWkGRmDrm/gfydHvMBfVsQJRq3NoHOM2dt/ceBWG2397v1Q==} + peerDependencies: + '@reach/router': ^1.2.1 + react: '>=16.8.0' + react-dom: '>=16.8.0' + react-router-dom: '>=5' + peerDependenciesMeta: + '@reach/router': + optional: true + react-router-dom: + optional: true +>>>>>>> Stashed changes dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -36622,6 +39030,12 @@ snapshots: tslib: 2.6.2 optionalDependencies: '@types/react': 18.2.43 +<<<<<<< Updated upstream +======= + detect-node-es: 1.1.0 + react: 18.2.0 + tslib: 2.6.2 +>>>>>>> Stashed changes use-sync-external-store@1.2.0(react@18.2.0): dependencies: diff --git a/services/workflows-service/prisma/data-migrations b/services/workflows-service/prisma/data-migrations index 81d3e08d46..6d7678b238 160000 --- a/services/workflows-service/prisma/data-migrations +++ b/services/workflows-service/prisma/data-migrations @@ -1 +1 @@ -Subproject commit 81d3e08d46297a3998f0a1164f0519bcb912bfad +Subproject commit 6d7678b238c7b6f1aeaad80719e218629ed5e5bc diff --git a/services/workflows-service/src/ui-definition/ui-definition.service.ts b/services/workflows-service/src/ui-definition/ui-definition.service.ts index d369f4d2be..4bc9f09e37 100644 --- a/services/workflows-service/src/ui-definition/ui-definition.service.ts +++ b/services/workflows-service/src/ui-definition/ui-definition.service.ts @@ -54,6 +54,13 @@ export class UiDefinitionService { } async list(projectIds: TProjectIds) { - return await this.repository.findMany({}, projectIds); + return await this.repository.findMany( + { + include: { + workflowDefinition: true, + }, + }, + projectIds, + ); } }