From 6ce05dda23b515feea162c1941ccdd1c6451b2d9 Mon Sep 17 00:00:00 2001 From: Ramesh Mane <101566080+rameshmane7218@users.noreply.github.com> Date: Sat, 23 Aug 2025 17:26:01 +0530 Subject: [PATCH] chore(nc-gui): install vue-fullscreen --- packages/nc-gui/package.json | 1 + packages/nocodb-sdk/src/lib/Api.ts | 666 ++++++++++++++++------ packages/nocodb/src/integrations/index.ts | 6 +- pnpm-lock.yaml | 39 +- 4 files changed, 512 insertions(+), 200 deletions(-) diff --git a/packages/nc-gui/package.json b/packages/nc-gui/package.json index 14ea9deff2..79daf767af 100644 --- a/packages/nc-gui/package.json +++ b/packages/nc-gui/package.json @@ -120,6 +120,7 @@ "vue-barcode-reader": "^1.0.3", "vue-chartjs": "^5.3.2", "vue-dompurify-html": "^5.3.0", + "vue-fullscreen": "^3.1.3", "vue-github-button": "^3.1.3", "vue-i18n": "^9.14.4", "vue3-calendar-heatmap": "^2.0.5", diff --git a/packages/nocodb-sdk/src/lib/Api.ts b/packages/nocodb-sdk/src/lib/Api.ts index e75792f6e3..78aa92e56e 100644 --- a/packages/nocodb-sdk/src/lib/Api.ts +++ b/packages/nocodb-sdk/src/lib/Api.ts @@ -325,10 +325,10 @@ export interface FilterListResponseV3Type { export interface FilterV3Type { /** Unique identifier for the filter. */ - id: string; - /** Parent ID of the filter, specifying this filters group association. */ + id?: string; + /** Parent ID of the filter, specifying this filters group association. Defaults to **root**. */ parent_id?: string; - /** Field ID to which this filter applies. Defaults to **root**. */ + /** Field ID to which this filter applies. */ field_id: string; /** Primary comparison operator (e.g., eq, gt, lt). */ operator: string; @@ -377,7 +377,11 @@ export type FieldUpdateV3Type = FieldBaseV3Type & options?: FieldOptionsSelectV3Type; } | { - type?: 'Rating' | 'Checkbox'; + type?: 'Checkbox'; + options?: FieldOptionsCheckboxV3Type; + } + | { + type?: 'Rating'; options?: FieldOptionsRatingV3Type; } | { @@ -997,200 +1001,490 @@ export interface FieldBaseV3Type { default_value?: string | boolean | number; } -export interface ViewCreateV3Type { - /** Name of the view. */ - view_name?: string; - /** Type of the view. */ - view_type?: 'GRID' | 'GALLERY' | 'KANBAN' | 'CALENDAR' | 'FORM'; - /** Lock type of the view. */ - lock_type?: 'COLLABARATIVE' | 'LOCKED' | 'PERSONAL'; - /** Description of the view. */ - description?: string; -} - -/** - * GRID View - */ -export type ViewV3Type = ( - | { - fields: { - /** - * Field ID for GRID view. - * @format uuid - */ - field_id?: string; - /** Indicates if the field is hidden in GRID view. */ - is_hidden?: boolean; - }[]; - group?: { - /** - * Field ID for grouping in GRID view. - * @format uuid - */ - field_id?: string; - /** Sorting order for the group. */ - sort?: 'asc' | 'desc'; - }[]; - } - | { - fields: { - /** - * Field ID displayed in GALLERY view. - * @format uuid - */ - field_id?: string; - /** Indicates if the field is the cover image. */ - cover_image?: boolean; - }[]; - /** - * Field ID for the cover image. - * @format uuid - */ - cover_image_field_id?: string; - } - | { - fields: { - /** - * Field ID used in KANBAN view. - * @format uuid - */ - field_id?: string; - /** Indicates if the field is used for stacking in KANBAN. */ - is_stack_by?: boolean; - }[]; - /** - * Field ID for the cover image. - * @format uuid - */ - cover_image_field_id?: string; - /** - * Field ID used for stacking in KANBAN view. - * @format uuid - */ - kanban_stack_by_field_id?: string; - } - | { - fields: { - /** - * Field ID displayed in CALENDAR view. - * @format uuid - */ - field_id?: string; - /** Indicates if the field is used for date ranges. */ - is_date_field?: boolean; - }[]; - calendar_range?: { - /** - * Field ID for the start date. - * @format uuid - */ - start_field_id?: string; - /** - * Field ID for the end date. - * @format uuid - */ - end_field_id?: string; - }[]; - } - | { - fields: { - /** - * Field ID used in FORM view. - * @format uuid - */ - field_id?: string; - /** Indicates if the field is required in the form. */ - is_required?: boolean; - }[]; - /** Heading for the form. */ - form_heading?: string; - /** Subheading for the form. */ - form_sub_heading?: string; - /** Success message shown after form submission. */ - form_success_message?: string; - /** - * URL to redirect to after form submission. - * @format uri - */ - form_redirect_url?: string; - /** Seconds to wait before redirecting. */ - form_redirect_after_secs?: number; - /** Whether to send a response email. */ - form_send_response_email?: boolean; - /** Whether to show another form after submission. */ - form_show_another?: boolean; - /** Whether to show a blank form after submission. */ - form_show_blank?: boolean; - /** Whether to hide the banner on the form. */ - form_hide_banner?: boolean; - /** Whether to hide branding on the form. */ - form_hide_branding?: boolean; - /** - * URL of the banner image for the form. - * @format uri - */ - form_banner_image_url?: string; - /** - * URL of the logo for the form. - * @format uri - */ - form_logo_url?: string; - /** - * Background color for the form. - * @pattern ^#[0-9A-Fa-f]{6}$ - */ - form_background_color?: string; - } -) & { +export type ViewV3Type = { /** * Unique identifier for the view. * @format uuid */ - id?: string; - /** Name of the view. */ - view_name?: string; - /** Type of the view. */ - view_type?: 'GRID' | 'GALLERY' | 'KANBAN' | 'CALENDAR' | 'FORM'; - /** Lock type of the view. */ - lock_type?: 'COLLABARATIVE' | 'LOCKED' | 'PERSONAL'; - /** Description of the view. */ - description?: string; - /** Indicates if this is the default view. */ + id: string; + /** Indicates if this is the default view. Omitted if not the default view. */ is_default?: boolean; - meta?: { - /** Description for locked views. */ - locked_view_description?: string; +} & ViewBaseV3Type & { /** - * User ID of the person who locked the view. + * User ID of the creator. * @format uuid */ - locked_by_user_id?: string; + created_by?: string; + /** + * User ID of the owner. + * @format uuid + */ + owned_by?: string; + /** + * Timestamp of creation. + * @format date-time + */ + created_at?: string; + /** + * Timestamp of last update. + * @format date-time + */ + updated_at?: string; + } & ( + | { + type?: 'grid'; + options?: ViewOptionsGridV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + | { + type?: 'gallery'; + options?: ViewOptionsGalleryV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + | { + type?: 'kanban'; + options: ViewOptionsKanbanV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + | { + type?: 'calendar'; + options: ViewOptionsCalendarV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + ); + +export type ViewUpdateV3Type = ViewBaseInUpdateV3Type & + ( + | { + options?: ViewOptionsGridV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + | { + options?: ViewOptionsGalleryV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + | { + options?: ViewOptionsKanbanV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + | { + options?: ViewOptionsCalendarV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + ); + +export type ViewCreateV3Type = ViewBaseV3Type & + ( + | { + type?: 'grid'; + options?: ViewOptionsGridV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + | { + type?: 'gallery'; + options?: ViewOptionsGalleryV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + | { + type?: 'kanban'; + options: ViewOptionsKanbanV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + | { + type?: 'calendar'; + options: ViewOptionsCalendarV3Type; + /** List of sorts to be applied to the view. */ + sorts?: SortCreateV3Type[]; + filters?: FilterCreateUpdateV3Type; + /** + * List of fields to be displayed in the view. + * + * - If not specified, all fields are displayed by default. + * - If an empty array is provided, only the display value field will be shown. + * - In case of partial list, fields not included in the list will be excluded from the view. + */ + fields?: ViewFieldsV3Type; + /** Row colour configuration for the the view. */ + row_coloring?: ViewRowColourV3Type; + } + ); + +export interface ViewOptionsFormV3Type { + /** Heading for the form. */ + form_title?: string; + /** Subheading for the form. */ + form_description?: string; + /** Success message shown after form submission. */ + thank_you_message?: string; + /** Seconds to wait before redirecting. */ + form_redirect_after_secs?: number; + /** Whether to show another form after submission. */ + show_submit_another_button?: boolean; + /** Whether to show a blank form after submission. */ + reset_form_after_submit?: boolean; + /** Whether to hide the banner on the form. */ + form_hide_banner?: boolean; + /** Whether to hide branding on the form. */ + form_hide_branding?: boolean; + /** + * URL of the banner image for the form. + * @format uri + */ + banner?: string; + /** + * URL of the logo for the form. + * @format uri + */ + logo?: string; + /** + * Background color for the form. + * @pattern ^#[0-9A-Fa-f]{6}$ + */ + form_background_color?: string; + /** + * URL to redirect to after form submission. + * @format uri + */ + redirect_url?: string; +} + +export interface ViewOptionsGalleryV3Type { + /** + * Attachment field ID to be used as cover image in gallery view. Is optional, if not provided, the first attachment field will be used. + * @format uuid + */ + cover_field_id?: string; +} + +export interface ViewOptionsCalendarV3Type { + date_ranges: { + /** + * Date field ID to be used as start date in calendar view. + * @format uuid + */ + start_date_field_id: string; + /** + * Date field ID to be used as end date in calendar view. + * @format uuid + */ + end_date_field_id?: string; + }[]; +} + +export interface ViewOptionsKanbanV3Type { + stack_by: { + /** + * Single select field ID to be used for stacking cards in kanban view. + * @format uuid + */ + field_id: string; + /** + * Order of the stacks in kanban view. If not provided, the order will be determined by options listed in associated field. + * + * Example: ```stack_order: ['option1', 'option2', 'option3']``` + */ + stack_order?: string[]; }; /** - * User ID of the creator. + * Attachment field ID to be used as cover image in kanban view. If not provided, cover field configuration is skipped. * @format uuid */ - created_by?: string; + cover_field_id?: string; +} + +export interface ViewOptionsGridV3Type { + /** List of groups to be applied on the grid view. */ + groups?: { + /** + * Identifier for the field being sorted. + * @format uuid + */ + field_id: string; + /** Direction of the group, either 'asc' (ascending) or 'desc' (descending). */ + direction?: 'asc' | 'desc'; + }[]; + /** Height of the rows in the grid view. */ + row_height?: 'short' | 'medium' | 'tall' | 'extra'; +} + +export type ViewRowColourV3Type = + | { + /** Mode of row coloring. In this mode, the color is selected based on conditions applied to the fields. */ + mode: 'filter'; + conditions: { + apply_as_row_background?: boolean; + color?: string; + filters?: FilterCreateUpdateV3Type; + }[]; + } + | { + /** Mode of row coloring. In this mode, the color is selected based on a single select field. */ + mode: 'select'; + /** + * Single select field ID to be used for colouring rows in the view. + * @format uuid + */ + field_id: string; + /** Whether to additionally apply the color as row background. */ + apply_as_row_background?: boolean; + }; + +/** +* List of fields to be displayed in the view. + +- If not specified, all fields are displayed by default. +- If an empty array is provided, only the display value field will be shown. +- In case of partial list, fields not included in the list will be excluded from the view. +*/ +export type ViewFieldsV3Type = { /** - * User ID of the owner. + * Unique identifier for the field. * @format uuid */ - owned_by?: string; + field_id: string; + /** Indicates whether the field should be displayed in the view. */ + show: boolean; /** - * Timestamp of creation. - * @format date-time + * Width of the field in pixels. + * + * **Applicable only for grid view.** */ - created_at?: string; + width?: number; /** - * Timestamp of last update. - * @format date-time + * Aggregation function to be applied to the field. + * + * **Applicable only for grid view.** */ - updated_at?: string; - /** Filters applied to the view. */ - filters?: FilterV3Type[]; - /** Sort options for the view. */ - sorts?: SortV3Type[]; -}; + aggregation?: ViewAggregationEnumV3Type; +}[]; + +export interface ViewBaseInUpdateV3Type { + /** Title of the view. */ + title?: string; + /** + * Lock type of the view. + * + * Note: Assigning view as personal using API is not supported currently + */ + lock_type?: 'collaborative' | 'locked'; + /** Description of the view. */ + description?: string; +} + +export interface ViewBaseV3Type { + /** Title of the view. */ + title: string; + /** + * Type of the view. + * + * Note: Form view via API is not supported currently + */ + type: 'grid' | 'gallery' | 'kanban' | 'calendar'; + /** + * Lock type of the view. + * + * Note: Assigning view as personal using API is not supported currently + */ + lock_type?: 'collaborative' | 'locked' | 'personal'; + /** Description of the view. */ + description?: string; +} + +export interface ViewListV3Type { + list: { + /** Unique identifier for the view. */ + id: string; + /** Title of the view. */ + title: string; + /** Description of the view. */ + description?: string | null; + /** Type of the view. */ + type: 'grid' | 'gallery' | 'kanban' | 'calendar' | 'form'; + /** View configuration edit state. */ + lock_type: 'collaborative' | 'locked' | 'personal'; + /** Indicates if this is the default view. */ + is_default?: boolean; + /** + * User ID of the creator. + * @format uuid + */ + created_by: string; + /** + * User ID of the owner. Applicable only for personal views. + * @format uuid + */ + owned_by?: string; + /** + * Timestamp of creation. + * @format date-time + */ + created_at: string; + /** + * Timestamp of last update. + * @format date-time + */ + updated_at: string; + }[]; +} + +export enum ViewAggregationEnumV3Type { + Sum = 'sum', + Min = 'min', + Max = 'max', + Avg = 'avg', + Median = 'median', + StdDev = 'std_dev', + Range = 'range', + Count = 'count', + CountEmpty = 'count_empty', + CountFilled = 'count_filled', + CountUnique = 'count_unique', + PercentEmpty = 'percent_empty', + PercentFilled = 'percent_filled', + PercentUnique = 'percent_unique', + None = 'none', + AttachmentSize = 'attachment_size', + Checked = 'checked', + Unchecked = 'unchecked', + PercentChecked = 'percent_checked', + PercentUnchecked = 'percent_unchecked', + EarliestDate = 'earliest_date', + LatestDate = 'latest_date', + DateRange = 'date_range', + MonthRange = 'month_range', +} export interface ViewSummaryV3Type { /** @@ -1201,7 +1495,7 @@ export interface ViewSummaryV3Type { /** Name of the view. */ title?: string; /** Type of the view. */ - view_type?: 'GRID' | 'GALLERY' | 'KANBAN' | 'CALENDAR' | 'FORM'; + view_type?: 'grid' | 'gallery' | 'kanban' | 'calendar' | 'form'; } export interface SortUpdateV3Type { @@ -1217,20 +1511,14 @@ export interface SortUpdateV3Type { } export interface SortCreateV3Type { - /** - * Identifier for the field being sorted. - * @format uuid - */ + /** Identifier for the field being sorted. */ field_id: string; /** Sorting direction, either 'asc' (ascending) or 'desc' (descending). */ - direction: 'asc' | 'desc'; + direction?: 'asc' | 'desc'; } export interface SortV3Type { - /** - * Unique identifier for the sort. - * @format uuid - */ + /** Unique identifier for the sort. */ id: string; /** * Identifier for the field being sorted. diff --git a/packages/nocodb/src/integrations/index.ts b/packages/nocodb/src/integrations/index.ts index 6d8bf731be..cb2629fde8 100644 --- a/packages/nocodb/src/integrations/index.ts +++ b/packages/nocodb/src/integrations/index.ts @@ -3,6 +3,10 @@ !!! Do not edit this file manually !!! */ + + import type { IntegrationEntry } from '@noco-local-integrations/core'; -export default [] as IntegrationEntry[]; +export default [ + +] as IntegrationEntry[]; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f46f28b915..27bc33552b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -310,6 +310,9 @@ importers: vue-dompurify-html: specifier: ^5.3.0 version: 5.3.0(vue@3.5.15(typescript@5.8.3)) + vue-fullscreen: + specifier: ^3.1.3 + version: 3.1.3(vue@3.5.15(typescript@5.8.3)) vue-github-button: specifier: ^3.1.3 version: 3.1.3 @@ -1940,7 +1943,7 @@ packages: resolution: {integrity: sha512-b9kFTKhYbNArfgP1lmnaVm0VNsWdZjqIbyHUYry7mZ+E7JeTQclbjq1+2xWn0SE3wzqRYlXmAVjECPOgteWmMQ==} engines: {node: '>=12'} peerDependencies: - vue: ^3.2.0 + vue: latest '@cloudflare/kv-asset-handler@0.4.0': resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} @@ -2571,7 +2574,7 @@ packages: '@iconify/vue@4.3.0': resolution: {integrity: sha512-Xq0h6zMrHBbrW8jXJ9fISi+x8oDQllg5hTDkDuxnWiskJ63rpJu9CvJshj8VniHVTbsxCg9fVoPAaNp3RQI5OQ==} peerDependencies: - vue: '>=3' + vue: latest '@img/sharp-darwin-arm64@0.33.4': resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==} @@ -3017,7 +3020,7 @@ packages: engines: {node: '>= 18'} peerDependencies: petite-vue-i18n: '*' - vue: ^3.2.25 + vue: 3.5.14 vue-i18n: '*' peerDependenciesMeta: petite-vue-i18n: @@ -5907,7 +5910,7 @@ packages: '@unhead/vue@2.0.10': resolution: {integrity: sha512-lV7E1sXX6/te8+IiUwlMysBAyJT/WM5Je47cRnpU5hsvDRziSIGfim9qMWbsTouH+paavRJz1i8gk5hRzjvkcw==} peerDependencies: - vue: '>=3.5.13' + vue: 3.5.14 '@vercel/nft@0.29.3': resolution: {integrity: sha512-aVV0E6vJpuvImiMwU1/5QKkw2N96BRFE7mBYGS7FhXUoS6V7SarQ+8tuj33o7ofECz8JtHpmQ9JW+oVzOoB7MA==} @@ -5918,15 +5921,15 @@ packages: resolution: {integrity: sha512-DSTrmrdLp+0LDNF77fqrKfx7X0ErRbOcUAgJL/HbSesqQwoUvUQ4uYQqaex+rovqgGcoPqVk+AwUh3v9CuiYIw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: '>=6.1.4' - vue: ^3.0.0 + vite: '>=6.1.6' + vue: 3.5.14 '@vitejs/plugin-vue@5.2.4': resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: '>=6.1.4' - vue: ^3.2.25 + vue: latest '@vitest/expect@3.1.4': resolution: {integrity: sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA==} @@ -5966,7 +5969,7 @@ packages: resolution: {integrity: sha512-AZhz0diM7VIN7MGKODiuqiu+xiujFQSs2UdiThgNI5vGSwwizd0g9dGzB+LK0Dt4FCRJ1g64xzxqbrAFFfzuFw==} peerDependencies: '@vue-flow/core': ^1.0.0 - vue: ^3.2.25 + vue: latest '@vue-flow/core@1.44.0': resolution: {integrity: sha512-3efgrj3KCTSSUpPRefL+muRuPv+7Oy8nPDPOhLuJACyiGrBHzAZDyCC9irqsWD1E9ko8g1XYgupReRT0q78fOA==} @@ -5977,7 +5980,7 @@ packages: resolution: {integrity: sha512-Pn/AWMTjoMYuquepLZP813BIcq8DTZiNCoaceuNlvaYuOTd8DqBZWc5u0uOMQZMInwME1mdSmmBAcTluiV9Jtg==} engines: {node: '>=16.14.0'} peerDependencies: - vue: '>=3' + vue: latest peerDependenciesMeta: vue: optional: true @@ -6048,7 +6051,7 @@ packages: resolution: {integrity: sha512-AN6l7KF7+mEfyWG0doT96z+47ljwPpZfi9/JrNMkOGLFv27XVZvKzRLXlmDPQjPl/wOB1GNnHuc54jlCLRNqGA==} peerDependencies: '@vue/composition-api': ^1.0.0-rc.1 - vue: '>=3' + vue: latest peerDependenciesMeta: '@vue/composition-api': optional: true @@ -12907,6 +12910,10 @@ packages: scmp@2.1.0: resolution: {integrity: sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==} + screenfull@5.2.0: + resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} + engines: {node: '>=0.10.0'} + scroll-into-view-if-needed@2.2.31: resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} @@ -14566,6 +14573,11 @@ packages: peerDependencies: eslint: '>=6.0.0' + vue-fullscreen@3.1.3: + resolution: {integrity: sha512-FWpt+Te6ycJ1yrKQo4RCjfa6tcfrZ3WVHzidzbs85aZs4hrywnDvqtQ6dIUr6pExoaEum7xLPGfcoU4yJi7+ww==} + peerDependencies: + vue: ^3.0.0 + vue-github-button@3.1.3: resolution: {integrity: sha512-ZdOnUuYJL/wUsxISsC96TARzCdf1twaWooZoI14+g4RHsJltPY+Agw6Ox6pjuMqMX0uhSK1JOMFUFNCQGlcZGA==} @@ -29542,6 +29554,8 @@ snapshots: scmp@2.1.0: {} + screenfull@5.2.0: {} + scroll-into-view-if-needed@2.2.31: dependencies: compute-scroll-into-view: 1.0.20 @@ -31445,6 +31459,11 @@ snapshots: transitivePeerDependencies: - supports-color + vue-fullscreen@3.1.3(vue@3.5.15(typescript@5.8.3)): + dependencies: + screenfull: 5.2.0 + vue: 3.5.15(typescript@5.8.3) + vue-github-button@3.1.3: dependencies: github-buttons: 2.29.1