chore: add ADS slider (#38971)

## Description
Add ADS slider.
[Also contains CE code for user RAG controls
PR](https://github.com/appsmithorg/appsmith-ee/pull/6025).

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13119445734>
> Commit: becea810be9c3312ba8032bf8955fb84e5334534
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13119445734&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 03 Feb 2025 18:20:56 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new slider component with enhanced interactivity and
accessibility.
- Expanded form controls to include Rag Integrations for streamlined
file and AI query setups.

- **Documentation**
- Added interactive examples and detailed guidance to help users
leverage the new slider functionality.

- **Refactor**
- Consolidated Rag controls by replacing previous document settings with
Rag Integrations.
- Adjusted datasource update behavior for a smoother experience with
AI-driven configurations.
  
- **Bug Fixes**
- Updated the handling of control types in the DatasourceFormRenderer to
ensure correct rendering of components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Valera Melnikov 2025-02-04 09:42:51 +03:00 committed by GitHub
parent 84474ae52a
commit 42988bb034
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 503 additions and 119 deletions

View File

@ -26,6 +26,7 @@
"@react-aria/focus": "^3.10.1",
"@react-aria/link": "^3.3.6",
"@react-aria/radio": "^3.4.2",
"@react-aria/slider": "^3.7.15",
"@react-aria/switch": "^3.3.1",
"@react-aria/textfield": "^3.8.1",
"@react-stately/radio": "^3.6.2",

View File

@ -0,0 +1,4 @@
import { CLASS_NAME_PREFIX } from "../__config__/constants";
export const SliderClassName = `${CLASS_NAME_PREFIX}-slider`;
export const SliderFocusVisibleClassName = `${SliderClassName}__focus-visible`;

View File

@ -0,0 +1,15 @@
import { Canvas, Meta } from "@storybook/blocks";
import * as SliderStories from "./Slider.stories";
<Meta of={SliderStories} />
# Slider
A slider component is used when you want to allow users to select a value from a range of values by dragging a thumb along a track. It is ideal for settings where a range of values is more appropriate than a fixed set of options, such as adjusting volume, brightness, or selecting a price range.
<Canvas of={SliderStories.SliderStory} />
If the value represents an offset, the fill start can be set to represent the point of origin. This allows the slider fill to start from inside the track.
<Canvas of={SliderStories.OriginSliderStory} />

View File

@ -0,0 +1,35 @@
import React, { useState } from "react";
import { Slider } from "./Slider";
import { type Meta, type StoryObj } from "@storybook/react";
import type { SliderProps } from "./Slider.types";
export default {
title: "ADS/Components/Slider",
component: Slider,
} as Meta;
const Template = (args: SliderProps) => {
const [value, setValue] = useState(args.value || 50);
return <Slider {...args} onChange={setValue} value={value} />;
};
export const SliderStory = Template.bind({}) as StoryObj;
SliderStory.args = {
maxValue: 100,
minValue: 0,
step: 1,
value: 50,
label: "Donuts to buy",
getValueLabel: (donuts: string) => `${donuts} of 100 Donuts`,
};
export const OriginSliderStory = Template.bind({}) as StoryObj;
OriginSliderStory.args = {
maxValue: 100,
minValue: 0,
origin: 50,
step: 1,
value: 50,
label: "Number",
};

View File

@ -0,0 +1,85 @@
import styled from "styled-components";
import { SliderFocusVisibleClassName } from "./Slider.constants";
export const StyledSlider = styled.div<{
disabled?: boolean;
}>`
position: relative;
display: flex;
flex-direction: column;
align-items: center;
touch-action: none;
width: 100%;
padding: 0 calc(var(--ads-v2-spaces-5) / 2) calc(var(--ads-v2-spaces-5) / 2);
${({ disabled }) =>
disabled &&
`
opacity: 0.6;
cursor: not-allowed !important;
`}
${"." + SliderFocusVisibleClassName} {
--ads-v2-offset-outline: 1px;
outline: var(--ads-v2-border-width-outline) solid
var(--ads-v2-color-outline);
outline-offset: var(--ads-v2-offset-outline);
}
`;
export const SliderLabel = styled.div`
display: flex;
align-self: stretch;
justify-content: space-between;
margin: 0 calc(var(--ads-v2-spaces-5) / 2 * -1) var(--ads-v2-spaces-3);
`;
export const Thumb = styled.div`
position: absolute;
transform: translateX(-50%);
width: var(--ads-v2-spaces-5);
height: var(--ads-v2-spaces-5);
border-radius: 50%;
box-sizing: border-box;
background-color: var(--ads-v2-color-bg-brand-secondary);
cursor: pointer;
top: 0;
&:hover {
background-color: var(--ads-v2-color-bg-brand-secondary-emphasis);
}
&:active {
background-color: var(--ads-v2-color-bg-brand-secondary-emphasis-plus);
}
`;
export const Rail = styled.div`
position: absolute;
background-color: var(--ads-v2-color-bg-emphasis);
height: var(--ads-v2-spaces-1);
transform: translateY(-50%);
width: calc(100% + var(--ads-v2-spaces-5));
margin-inline-start: calc(var(--ads-v2-spaces-5) / 2 * -1);
`;
export const FilledRail = styled.div`
position: absolute;
height: var(--ads-v2-spaces-2);
background-color: var(--ads-v2-color-bg-emphasis-plus);
transform: translateY(-50%);
left: 0;
margin-inline-start: calc(var(--ads-v2-spaces-5) / 2 * -1);
`;
export const TrackContainer = styled.div`
position: relative;
width: 100%;
height: 0;
`;
export const Track = styled.div`
position: relative;
height: var(--ads-v2-spaces-4);
width: 100%;
`;

View File

@ -0,0 +1,102 @@
import React from "react";
import { useSlider, useSliderThumb } from "@react-aria/slider";
import { useSliderState } from "@react-stately/slider";
import { FocusRing } from "@react-aria/focus";
import { VisuallyHidden } from "@react-aria/visually-hidden";
import { useNumberFormatter } from "@react-aria/i18n";
import type { AriaSliderProps } from "@react-types/slider";
import { Text } from "../Text";
import { SliderFocusVisibleClassName } from "./Slider.constants";
import {
StyledSlider,
SliderLabel,
Thumb,
Rail,
FilledRail,
Track,
TrackContainer,
} from "./Slider.styles";
import type { SliderProps } from "./Slider.types";
export function Slider(props: SliderProps) {
const trackRef = React.useRef<HTMLDivElement>(null);
const inputRef = React.useRef<HTMLInputElement>(null);
const origin = props.origin ?? props.minValue ?? 0;
const multiProps: AriaSliderProps<number[]> = {
...props,
value: props.value == null ? undefined : [props.value],
defaultValue: props.defaultValue == null ? undefined : [props.defaultValue],
onChange:
props.onChange == null
? undefined
: (vals: number[]) => props.onChange?.(vals[0]),
onChangeEnd:
props.onChangeEnd == null
? undefined
: (vals: number[]) => props.onChangeEnd?.(vals[0]),
};
const formatter = useNumberFormatter(props.formatOptions);
const state = useSliderState({ ...multiProps, numberFormatter: formatter });
const { groupProps, labelProps, outputProps, trackProps } = useSlider(
multiProps,
state,
trackRef,
);
const { inputProps, thumbProps } = useSliderThumb(
{
index: 0,
isDisabled: props.isDisabled,
trackRef,
inputRef,
},
state,
);
const value = state.values[0];
const getDisplayValue = () => {
if (typeof props.getValueLabel === "function") {
return props.getValueLabel(state.getThumbValue(0));
}
return state.getThumbValueLabel(0);
};
return (
<StyledSlider {...groupProps} disabled={props.isDisabled}>
<SliderLabel>
{props.label && (
// @ts-expect-error incompatible types for Text and labelProps
<Text renderAs="label" {...labelProps}>
{props.label}
</Text>
)}
{/*@ts-expect-error incompatible types for Text and outputProps**/}
<Text {...outputProps}>{getDisplayValue()}</Text>
</SliderLabel>
<TrackContainer>
<Rail />
<FilledRail
style={{
left: `${state.getValuePercent(Math.min(value, origin)) * 100}%`,
width: `${(state.getValuePercent(Math.max(value, origin)) - state.getValuePercent(Math.min(value, origin))) * 100}%`,
}}
/>
<Track ref={trackRef} {...trackProps} />
<FocusRing focusRingClass={SliderFocusVisibleClassName} within>
<Thumb
style={{
left: `${state.getThumbPercent(0) * 100}%`,
}}
{...thumbProps}
>
<VisuallyHidden>
<input ref={inputRef} {...inputProps} />
</VisuallyHidden>
</Thumb>
</FocusRing>
</TrackContainer>
</StyledSlider>
);
}

View File

@ -0,0 +1,11 @@
import type { AriaSliderProps } from "@react-types/slider";
export interface SliderProps
extends Omit<AriaSliderProps<number>, "orientation"> {
/** If the value represents an offset, the fill start can be set to represent the point of origin. This allows the slider fill to start from inside the track. */
origin?: number;
/** Allows you to customize the format of the value. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#browser_compatibility */
formatOptions?: Intl.NumberFormatOptions;
/** A function that returns the content to display as the value's label. Overrides default formatted number. */
getValueLabel?: (value: number) => string;
}

View File

@ -0,0 +1,2 @@
export * from "./Slider";
export * from "./Slider.types";

View File

@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion */
import { all, call, fork, put, select, take } from "redux-saga/effects";
import {
change,
@ -89,6 +88,7 @@ import {
import type { ActionDataState } from "ee/reducers/entityReducers/actionsReducer";
import { setIdeEditorViewMode } from "../../actions/ideActions";
import { EditorViewMode } from "ee/entities/IDE/constants";
import { getIsAnvilEnabledInCurrentApplication } from "../../layoutSystems/anvil/integrations/selectors";
import { createActionRequestSaga } from "../../sagas/ActionSagas";
import { validateResponse } from "../../sagas/ErrorSagas";
import AnalyticsUtil from "ee/utils/AnalyticsUtil";
@ -543,6 +543,9 @@ export function* updateDatasourceSaga(
getPluginPackageFromDatasourceId,
datasourcePayload?.id,
);
const isAnvilEnabled: boolean = yield select(
getIsAnvilEnabledInCurrentApplication,
);
// when clicking save button, it should be changed as configured
set(datasourceStoragePayload, `isConfigured`, true);
@ -672,7 +675,14 @@ export function* updateDatasourceSaga(
// or update initial values as the next form open will be from the reconnect modal itself
if (!datasourcePayload.isInsideReconnectModal) {
// Don't redirect to view mode if the plugin is google sheets
if (pluginPackageName !== PluginPackageName.GOOGLE_SHEETS) {
// Also don't redirect to view mode if anvil is enabled and plugin is APPSMITH_AI
if (
pluginPackageName !== PluginPackageName.GOOGLE_SHEETS &&
!(
isAnvilEnabled &&
pluginPackageName === PluginPackageName.APPSMITH_AI
)
) {
yield put(
setDatasourceViewMode({
datasourceId: response.data.id,

View File

@ -0,0 +1,7 @@
interface RagIntegrationsProps {}
// Used in EE
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export const RagIntegrations = (props: RagIntegrationsProps) => {
return null;
};

View File

@ -0,0 +1,2 @@
export { RagDocuments } from "./RagDocuments";
export { RagIntegrations } from "./RagIntegrations";

View File

@ -1 +0,0 @@
export { RagDocuments } from "./RagDocuments";

View File

@ -10,7 +10,7 @@ import { ComparisonOperationsEnum } from "components/formControls/BaseControl";
import { Text } from "@appsmith/ads";
import { Table } from "@appsmith/ads-old";
import type { FeatureFlags } from "ee/entities/FeatureFlag";
import { RagDocuments } from "ee/components/formControls/RagDocuments";
import { RagDocuments } from "ee/components/formControls/Rag";
import type { Datasource } from "entities/Datasource";
import styled from "styled-components";
@ -164,7 +164,7 @@ export default function DatasourceFormRenderer({
`datasourceStorages.${currentEnvironment}.` + configProperty;
const reactKey = datasource.id + "_" + label;
if (controlType === "RAG_DOCUMENTS") {
if (controlType === "RAG_INTEGRATIONS") {
return (
<RagDocuments
datasourceId={datasource.id}

View File

@ -37,7 +37,7 @@ import MultiFilePickerControl from "components/formControls/MultiFilePickerContr
import type { MultipleFilePickerControlProps } from "components/formControls/MultiFilePickerControl";
import type { RadioButtonControlProps } from "components/formControls/RadioButtonControl";
import RadioButtonControl from "components/formControls/RadioButtonControl";
import { RagDocuments } from "ee/components/formControls/RagDocuments";
import { RagIntegrations } from "ee/components/formControls/Rag";
/**
* NOTE: If you are adding a component that uses FormControl
@ -191,16 +191,14 @@ class FormControlRegistry {
return <RadioButtonControl {...controlProps} />;
},
});
FormControlFactory.registerControlBuilder(formControlTypes.RAG_DOCUMENTS, {
buildPropertyControl(controlProps): JSX.Element {
return (
<RagDocuments
datasourceId={controlProps.datasourceId}
workspaceId={controlProps.workspaceId}
/>
);
FormControlFactory.registerControlBuilder(
formControlTypes.RAG_INTEGRATIONS,
{
buildPropertyControl(controlProps): JSX.Element {
return <RagIntegrations {...controlProps} />;
},
},
});
);
}
}

View File

@ -19,6 +19,5 @@ export default {
FORM_TEMPLATE: "FORM_TEMPLATE",
MULTIPLE_FILE_PICKER: "MULTIPLE_FILE_PICKER",
RADIO_BUTTON: "RADIO_BUTTON",
CARBON_BUTTON: "CARBON_BUTTON",
RAG_DOCUMENTS: "RAG_DOCUMENTS",
RAG_INTEGRATIONS: "RAG_INTEGRATIONS",
};

View File

@ -63,6 +63,7 @@ __metadata:
"@react-aria/focus": ^3.10.1
"@react-aria/link": ^3.3.6
"@react-aria/radio": ^3.4.2
"@react-aria/slider": ^3.7.15
"@react-aria/switch": ^3.3.1
"@react-aria/textfield": ^3.8.1
"@react-stately/radio": ^3.6.2
@ -3828,40 +3829,40 @@ __metadata:
languageName: node
linkType: hard
"@internationalized/date@npm:^3.5.5":
version: 3.5.5
resolution: "@internationalized/date@npm:3.5.5"
"@internationalized/date@npm:^3.5.5, @internationalized/date@npm:^3.7.0":
version: 3.7.0
resolution: "@internationalized/date@npm:3.7.0"
dependencies:
"@swc/helpers": ^0.5.0
checksum: 610afabe7d03f55d12126798c1f853a4f244e8567c3bcc66b1da2ae1bce376aad12876dc5019a949f2a8fe3a492cd2b4d354b9350a45fec3f7c5c7ff81401fc6
checksum: c95b73e91c911f8a8b5668c51a82055a4813e54697ad0645075a5f7972a14f3460ecacbb56dc044b46eed6d47b4a10706a35a237c412bc9cf6bf7886676bfb22
languageName: node
linkType: hard
"@internationalized/message@npm:^3.1.4":
version: 3.1.4
resolution: "@internationalized/message@npm:3.1.4"
"@internationalized/message@npm:^3.1.6":
version: 3.1.6
resolution: "@internationalized/message@npm:3.1.6"
dependencies:
"@swc/helpers": ^0.5.0
intl-messageformat: ^10.1.0
checksum: 37990cf4fd666afe8d165f3c9042e88c2d95b4a03d6e67595a49d57aff938d19f91826c7c6e5cfa2863c3d8d555365e797d5979da575a835b533fd2e31876bef
checksum: a291d32e797a3694d1279c4fb74f2812991f007b15fbd67e148d2089339a4f3e11b4803eae6f1cc4ae1a1872b39bdcafe30f9bb365accdf5ed2af063e532d00f
languageName: node
linkType: hard
"@internationalized/number@npm:^3.5.3":
version: 3.5.3
resolution: "@internationalized/number@npm:3.5.3"
"@internationalized/number@npm:^3.5.3, @internationalized/number@npm:^3.6.0":
version: 3.6.0
resolution: "@internationalized/number@npm:3.6.0"
dependencies:
"@swc/helpers": ^0.5.0
checksum: f905cb5302d5a84660fbe0264930fadf286c7a5860373c289863bc2b9d003690552743da2b3155d65e3e9fd0e49b83673caf49c306b9bab39d6e871b6777c588
checksum: 764078650ac562a54a22938d6889ed2cb54e411a4c58b098dabc8514572709bbc206f8e44b50bd684600e454b0276c2617ddc6d9a7345521f2896a13b1c085a7
languageName: node
linkType: hard
"@internationalized/string@npm:^3.2.3":
version: 3.2.3
resolution: "@internationalized/string@npm:3.2.3"
"@internationalized/string@npm:^3.2.3, @internationalized/string@npm:^3.2.5":
version: 3.2.5
resolution: "@internationalized/string@npm:3.2.5"
dependencies:
"@swc/helpers": ^0.5.0
checksum: aad1dd1de52fa48f17e41ad0a502bab621a08aadb8ccfc02512211d05f7111920d094b49811394a930542a98fe22522c2b5818f6d64eb38aca9638b7b4f11ccd
checksum: e1ad90f418e8a35f49b6fe91cc91ea5230083808b337feaff60f8a0a8a32ee33895728bc4024cdfe93bf6596b3a3dc72cd5f8b7daba29962fbc68827c816fecd
languageName: node
linkType: hard
@ -6627,18 +6628,19 @@ __metadata:
languageName: node
linkType: hard
"@react-aria/focus@npm:^3.10.1, @react-aria/focus@npm:^3.11.0, @react-aria/focus@npm:^3.18.2":
version: 3.18.2
resolution: "@react-aria/focus@npm:3.18.2"
"@react-aria/focus@npm:^3.10.1, @react-aria/focus@npm:^3.11.0, @react-aria/focus@npm:^3.18.2, @react-aria/focus@npm:^3.19.1":
version: 3.19.1
resolution: "@react-aria/focus@npm:3.19.1"
dependencies:
"@react-aria/interactions": ^3.22.2
"@react-aria/utils": ^3.25.2
"@react-types/shared": ^3.24.1
"@react-aria/interactions": ^3.23.0
"@react-aria/utils": ^3.27.0
"@react-types/shared": ^3.27.0
"@swc/helpers": ^0.5.0
clsx: ^2.0.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: 1d94207f2b956fb181f1bbc8e74c244fd2398b75c38ae2c7691ab7c67b1ab831563ce2d1ec01db95b0cfeffbf080889dbea251b6a9f12d8fc3854925b874b32c
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: 1ad0714617aefbcd164f37fcbbd82b3edf7f1148983b67a7c08b7f6c55d05f03b141310d70dda8e5bbb866e0790d345c6fa6038fd4fdb6b4226b65aba664513e
languageName: node
linkType: hard
@ -6703,48 +6705,51 @@ __metadata:
languageName: node
linkType: hard
"@react-aria/i18n@npm:^3.12.2":
version: 3.12.2
resolution: "@react-aria/i18n@npm:3.12.2"
"@react-aria/i18n@npm:^3.12.2, @react-aria/i18n@npm:^3.12.5":
version: 3.12.5
resolution: "@react-aria/i18n@npm:3.12.5"
dependencies:
"@internationalized/date": ^3.5.5
"@internationalized/message": ^3.1.4
"@internationalized/number": ^3.5.3
"@internationalized/string": ^3.2.3
"@react-aria/ssr": ^3.9.5
"@react-aria/utils": ^3.25.2
"@react-types/shared": ^3.24.1
"@internationalized/date": ^3.7.0
"@internationalized/message": ^3.1.6
"@internationalized/number": ^3.6.0
"@internationalized/string": ^3.2.5
"@react-aria/ssr": ^3.9.7
"@react-aria/utils": ^3.27.0
"@react-types/shared": ^3.27.0
"@swc/helpers": ^0.5.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: 53e36b1e93c80b8a227f750d6fd46e8bdfe41added599d3fa70602707d37895ca5a2cfc8cc922cf42d8835220a1ae8ee11234b3da6b17e3c4668c21b476d31b2
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: 573ef15b43d60566f3c58fbfa38bae363ea7f8e265e93620587afa42c8e2f9e33310a9da83b1e55773c87d389efbcab6bf574e413895bb52fc6ab6ac70cbca31
languageName: node
linkType: hard
"@react-aria/interactions@npm:^3.14.0, @react-aria/interactions@npm:^3.22.2":
version: 3.22.2
resolution: "@react-aria/interactions@npm:3.22.2"
"@react-aria/interactions@npm:^3.14.0, @react-aria/interactions@npm:^3.22.2, @react-aria/interactions@npm:^3.23.0":
version: 3.23.0
resolution: "@react-aria/interactions@npm:3.23.0"
dependencies:
"@react-aria/ssr": ^3.9.5
"@react-aria/utils": ^3.25.2
"@react-types/shared": ^3.24.1
"@react-aria/ssr": ^3.9.7
"@react-aria/utils": ^3.27.0
"@react-types/shared": ^3.27.0
"@swc/helpers": ^0.5.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: c856ebcec096bfeaa347def1e702a341f4bc0edbbc4bb4b8a72393bf728b02da03369afc2dd5d878a426afab84ac5b63c1dd326d59f0ce1d50d3ef94742a5966
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: 43d47bc2b5f1afa0b47cfba9514b6e0daee6d0d2507ae0f5dbb18f6b3f90e64a9de99fd4787eb663517ca84576de9ef7d731f490102848dcecf886babf3d2f50
languageName: node
linkType: hard
"@react-aria/label@npm:^3.7.11":
version: 3.7.11
resolution: "@react-aria/label@npm:3.7.11"
"@react-aria/label@npm:^3.7.11, @react-aria/label@npm:^3.7.14":
version: 3.7.14
resolution: "@react-aria/label@npm:3.7.14"
dependencies:
"@react-aria/utils": ^3.25.2
"@react-types/shared": ^3.24.1
"@react-aria/utils": ^3.27.0
"@react-types/shared": ^3.27.0
"@swc/helpers": ^0.5.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: 6774934bd769ac27a97c987a26a4af76497fdf7d88af5a0cd77ccefb67295ca1b2a9a0d0c3af954241515ac9c197a401807b65ac2c49f833c8ae6e827d03beb8
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: eb99781853387dc0e42c4c0e47dfb3e3c5cb8320be89f20aab76397f6cc29decc50c1ee8e9bb009a12acf5d3ccdf67dfa5187f79abde53bfe0189c0cf2d7574c
languageName: node
linkType: hard
@ -6985,22 +6990,23 @@ __metadata:
languageName: node
linkType: hard
"@react-aria/slider@npm:^3.7.11":
version: 3.7.11
resolution: "@react-aria/slider@npm:3.7.11"
"@react-aria/slider@npm:^3.7.11, @react-aria/slider@npm:^3.7.15":
version: 3.7.15
resolution: "@react-aria/slider@npm:3.7.15"
dependencies:
"@react-aria/focus": ^3.18.2
"@react-aria/i18n": ^3.12.2
"@react-aria/interactions": ^3.22.2
"@react-aria/label": ^3.7.11
"@react-aria/utils": ^3.25.2
"@react-stately/slider": ^3.5.7
"@react-types/shared": ^3.24.1
"@react-types/slider": ^3.7.5
"@react-aria/focus": ^3.19.1
"@react-aria/i18n": ^3.12.5
"@react-aria/interactions": ^3.23.0
"@react-aria/label": ^3.7.14
"@react-aria/utils": ^3.27.0
"@react-stately/slider": ^3.6.1
"@react-types/shared": ^3.27.0
"@react-types/slider": ^3.7.8
"@swc/helpers": ^0.5.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: ca0c88727d8bf1e13f11dad64ee2b1277889b50bff685a81fea233c7a60a74f82e1f56cab7337b92dad3d1c1201e4b6d01fc295f37caa0466af3b3414f84a149
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: 921887f514fa8a700bca8ede6d8ea4ebb711907d7c4c8d8a8eaec01c444562433ccb4fd8423d7974f45d6fe44a7d32c6402f9354cce4584c523e66a1d5503d1f
languageName: node
linkType: hard
@ -7021,14 +7027,14 @@ __metadata:
languageName: node
linkType: hard
"@react-aria/ssr@npm:^3.9.5":
version: 3.9.5
resolution: "@react-aria/ssr@npm:3.9.5"
"@react-aria/ssr@npm:^3.9.5, @react-aria/ssr@npm:^3.9.7":
version: 3.9.7
resolution: "@react-aria/ssr@npm:3.9.7"
dependencies:
"@swc/helpers": ^0.5.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: cf6b256325c8a3d7983383e2b977f266c57e1f6113782a29054ce0399a227ea1613ffa4e557fec55f9d9508e69218a09d469d2843f2450769f7b3ced7eee0f31
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: 10ad277d8c4db6cf9b546f5800dd084451a4a8173a57b06c6597fd39375526a81f1fb398fe46558d372f8660d33c0a09a2580e0529351d76b2c8938482597b3f
languageName: node
linkType: hard
@ -7200,18 +7206,19 @@ __metadata:
languageName: node
linkType: hard
"@react-aria/utils@npm:^3.16.0, @react-aria/utils@npm:^3.25.2":
version: 3.25.2
resolution: "@react-aria/utils@npm:3.25.2"
"@react-aria/utils@npm:^3.16.0, @react-aria/utils@npm:^3.25.2, @react-aria/utils@npm:^3.27.0":
version: 3.27.0
resolution: "@react-aria/utils@npm:3.27.0"
dependencies:
"@react-aria/ssr": ^3.9.5
"@react-stately/utils": ^3.10.3
"@react-types/shared": ^3.24.1
"@react-aria/ssr": ^3.9.7
"@react-stately/utils": ^3.10.5
"@react-types/shared": ^3.27.0
"@swc/helpers": ^0.5.0
clsx: ^2.0.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: 5866f843b852c09c0d69e082aa6120389766686607d1c67ca35c4afc4225ea4c5c426a7fb5a5ca926a0046f5c4dc2f9eebce2ffad16088730ca4b0cf49d609f7
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: c93031bd77378483ad507d424d42341a164e2232007cd44397bcd197d0363a4164b201238fdfb47692bdc95ec92bca6c3c311d617dad5b6c2f3a67c6e0a42981
languageName: node
linkType: hard
@ -7751,17 +7758,17 @@ __metadata:
languageName: node
linkType: hard
"@react-stately/slider@npm:^3.5.7":
version: 3.5.7
resolution: "@react-stately/slider@npm:3.5.7"
"@react-stately/slider@npm:^3.5.7, @react-stately/slider@npm:^3.6.1":
version: 3.6.1
resolution: "@react-stately/slider@npm:3.6.1"
dependencies:
"@react-stately/utils": ^3.10.3
"@react-types/shared": ^3.24.1
"@react-types/slider": ^3.7.5
"@react-stately/utils": ^3.10.5
"@react-types/shared": ^3.27.0
"@react-types/slider": ^3.7.8
"@swc/helpers": ^0.5.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: 4c1e282e45f54f7926fff25c3d955e995915fe5a8a50c45fc35517555607d8755dfd7ccad4fc6adbc7ad0b4bdd8026bac02efe9c1f9ea159b789ce6c1d1ef9c5
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: c1e00ff03ac1a2e520425b3692c2b146e70a90707f6c628af32b970fa8f0400e228b34d8beb20248ea4706c391f473290d47382ac8045505766004c4d347e55a
languageName: node
linkType: hard
@ -7839,14 +7846,14 @@ __metadata:
languageName: node
linkType: hard
"@react-stately/utils@npm:^3.10.3":
version: 3.10.3
resolution: "@react-stately/utils@npm:3.10.3"
"@react-stately/utils@npm:^3.10.3, @react-stately/utils@npm:^3.10.5":
version: 3.10.5
resolution: "@react-stately/utils@npm:3.10.5"
dependencies:
"@swc/helpers": ^0.5.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: c7f293b24674acdad49db972b7325d342cd10d9c78afede542346da7cc0055273b0c916bd11b51c8fa055f70fc8f2960aa867b847b8e7f60e9fade0f362f543b
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: 4f4292ccf7bb86578a20b354cf9569f88d2d50ecb2e10ac6046fab3b9eb2175f734acf1b9bd87787e439220b912785a54551a724ab285f03e4f33b2942831f57
languageName: node
linkType: hard
@ -8114,23 +8121,23 @@ __metadata:
languageName: node
linkType: hard
"@react-types/shared@npm:^3.21.0, @react-types/shared@npm:^3.22.0, @react-types/shared@npm:^3.23.0, @react-types/shared@npm:^3.23.1, @react-types/shared@npm:^3.24.1":
version: 3.24.1
resolution: "@react-types/shared@npm:3.24.1"
"@react-types/shared@npm:^3.21.0, @react-types/shared@npm:^3.22.0, @react-types/shared@npm:^3.23.0, @react-types/shared@npm:^3.23.1, @react-types/shared@npm:^3.24.1, @react-types/shared@npm:^3.27.0":
version: 3.27.0
resolution: "@react-types/shared@npm:3.27.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: 157ed3a210bcbdcf9aae25db5df5d0650edcc8b98686654433c9526bfb4be6431838c6480fff2710cd5b68c9a521f519d6f352e919e04bf9aed52fa0d70ed887
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: 72de4ba6f7e168e6c94cacd3c100c280df9ead41bd9d93f0f8b3e5ad5e8d75d96738b4dde9fc5d1907733b54baca63cd474034691a5a0f22120e1a4657ca3ad0
languageName: node
linkType: hard
"@react-types/slider@npm:^3.7.5":
version: 3.7.5
resolution: "@react-types/slider@npm:3.7.5"
"@react-types/slider@npm:^3.7.5, @react-types/slider@npm:^3.7.8":
version: 3.7.8
resolution: "@react-types/slider@npm:3.7.8"
dependencies:
"@react-types/shared": ^3.24.1
"@react-types/shared": ^3.27.0
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
checksum: 8d4f3a065f7067b386981c0a211f33a8d2ad190c8c934417fe1bd19567f5feb93087f1656827e9bf073ab260447e3725de76462e1f05a2d99ecdff4655f5bafb
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
checksum: f3b415da7025f77a2f352235df40a7f2d713616c15febc6ef14d711c78777814ee97658908eaf369f9b1c21fb87210a0826ee56d648e9516a007e18b2c32bcb0
languageName: node
linkType: hard

View File

@ -45,7 +45,114 @@
"requestType": "UPLOAD_FILES"
}
},
"isRequired": false
"isRequired": false,
"hidden": {
"comparison": "FEATURE_FLAG",
"flagValue": "release_anvil_enabled",
"value": true
}
},
{
"configProperty": "datasourceConfiguration.properties[1].key",
"initialValue": "Rag Integrations",
"hidden": true,
"controlType": "INPUT_TEXT"
},
{
"controlType": "RAG_INTEGRATIONS",
"isRequired": false,
"configProperty": "datasourceConfiguration.properties[1].value",
"initialValue": [
{
"id": "LOCAL_FILES",
"chunkSize": 1000,
"overlapSize": 300,
"allowedFileTypes": [
{
"extension": "TXT",
"chunkSize": 1000,
"overlapSize": 300
},
{
"extension": "PDF",
"chunkSize": 1000,
"overlapSize": 300,
"useOcr": true,
"setPageAsBoundary": true
},
{
"extension": "MD",
"chunkSize": 1000,
"overlapSize": 300
},
{
"extension": "RTF",
"chunkSize": 1000,
"overlapSize": 300
},
{
"extension": "DOCX",
"chunkSize": 1000,
"overlapSize": 300
}
]
},
{
"id": "NOTION",
"chunkSize": 1500,
"overlapSize": 450
},
{
"id": "ZENDESK",
"chunkSize": 1500,
"overlapSize": 450
},
{
"id": "SALESFORCE",
"chunkSize": 1500,
"overlapSize": 450
},
{
"id": "WEB_SCRAPER",
"chunkSize": 1500,
"overlapSize": 450
},
{
"id": "GOOGLE_DRIVE",
"chunkSize": 1500,
"overlapSize": 450
},
{
"id": "INTERCOM",
"chunkSize": 1500,
"overlapSize": 450
},
{
"id": "FRESHDESK",
"chunkSize": 1500,
"overlapSize": 450
},
{
"id": "CONFLUENCE",
"chunkSize": 1500,
"overlapSize": 450
},
{
"id": "DROPBOX",
"chunkSize": 1500,
"overlapSize": 450
},
{
"id": "BOX",
"chunkSize": 1500,
"overlapSize": 450
}
],
"hidden": {
"comparison": "FEATURE_FLAG",
"flagValue": "release_anvil_enabled",
"value": false
}
}
]
}