box-ui-elements 23.3.0-beta.6 → 23.3.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/explorer.css +1 -1
- package/dist/explorer.js +1 -1
- package/dist/preview.css +1 -1
- package/dist/preview.js +1 -1
- package/dist/sidebar.css +1 -1
- package/dist/sidebar.js +1 -1
- package/es/features/metadata-instance-editor/CascadePolicy.js +20 -2
- package/es/features/metadata-instance-editor/CascadePolicy.js.flow +27 -1
- package/es/features/metadata-instance-editor/CascadePolicy.js.map +1 -1
- package/es/features/metadata-instance-editor/CascadePolicy.scss +4 -0
- package/i18n/bn-IN.js +212 -212
- package/i18n/bn-IN.properties +10 -0
- package/i18n/da-DK.js +212 -212
- package/i18n/da-DK.properties +10 -0
- package/i18n/de-DE.js +212 -212
- package/i18n/de-DE.properties +10 -0
- package/i18n/en-AU.js +211 -211
- package/i18n/en-AU.properties +10 -0
- package/i18n/en-CA.js +211 -211
- package/i18n/en-CA.properties +10 -0
- package/i18n/en-GB.js +211 -211
- package/i18n/en-GB.properties +10 -0
- package/i18n/en-x-pseudo.js +1017 -1017
- package/i18n/en-x-pseudo.properties +1021 -1011
- package/i18n/es-419.js +212 -212
- package/i18n/es-419.properties +10 -0
- package/i18n/es-ES.js +212 -212
- package/i18n/es-ES.properties +10 -0
- package/i18n/fi-FI.js +212 -212
- package/i18n/fi-FI.properties +10 -0
- package/i18n/fr-CA.js +212 -212
- package/i18n/fr-CA.properties +10 -0
- package/i18n/fr-FR.js +212 -212
- package/i18n/fr-FR.properties +10 -0
- package/i18n/hi-IN.js +212 -212
- package/i18n/hi-IN.properties +10 -0
- package/i18n/it-IT.js +212 -212
- package/i18n/it-IT.properties +10 -0
- package/i18n/ja-JP.js +212 -212
- package/i18n/ja-JP.properties +10 -0
- package/i18n/ko-KR.js +212 -212
- package/i18n/ko-KR.properties +10 -0
- package/i18n/nb-NO.js +212 -212
- package/i18n/nb-NO.properties +10 -0
- package/i18n/nl-NL.js +212 -212
- package/i18n/nl-NL.properties +10 -0
- package/i18n/pl-PL.js +212 -212
- package/i18n/pl-PL.properties +10 -0
- package/i18n/pt-BR.js +212 -212
- package/i18n/pt-BR.properties +10 -0
- package/i18n/ru-RU.js +212 -212
- package/i18n/ru-RU.properties +10 -0
- package/i18n/sv-SE.js +212 -212
- package/i18n/sv-SE.properties +10 -0
- package/i18n/tr-TR.js +212 -212
- package/i18n/tr-TR.properties +10 -0
- package/i18n/zh-CN.js +212 -212
- package/i18n/zh-CN.properties +10 -0
- package/i18n/zh-TW.js +212 -212
- package/i18n/zh-TW.properties +10 -0
- package/package.json +1 -1
- package/src/features/metadata-instance-editor/CascadePolicy.js +27 -1
- package/src/features/metadata-instance-editor/CascadePolicy.scss +4 -0
- package/src/features/metadata-instance-editor/__tests__/CascadePolicy.test.js +7 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { FormattedMessage } from 'react-intl';
|
|
4
|
-
import {
|
|
4
|
+
import { BoxAiAgentSelector } from '@box/box-ai-agent-selector';
|
|
5
|
+
import { InlineNotice, TooltipProvider } from '@box/blueprint-web';
|
|
5
6
|
import BoxAiLogo from '@box/blueprint-web-assets/icons/Logo/BoxAiLogo';
|
|
6
7
|
import Toggle from '../../components/toggle';
|
|
7
8
|
import { RadioButton, RadioGroup } from '../../components/radio';
|
|
@@ -12,6 +13,15 @@ import './CascadePolicy.scss';
|
|
|
12
13
|
const COMMUNITY_LINK = 'https://support.box.com/hc/en-us/articles/360044195873-Cascading-metadata-in-folders';
|
|
13
14
|
const AI_LINK = 'https://www.box.com/ai';
|
|
14
15
|
const PRICING_LINK = 'https://www.box.com/pricing';
|
|
16
|
+
const agents = [{
|
|
17
|
+
id: '1',
|
|
18
|
+
name: 'Basic',
|
|
19
|
+
isEnterpriseDefault: true
|
|
20
|
+
}, {
|
|
21
|
+
id: '2',
|
|
22
|
+
name: 'Enhanced (Gemini 2.5 Pro)',
|
|
23
|
+
isEnterpriseDefault: false
|
|
24
|
+
}];
|
|
15
25
|
const CascadePolicy = ({
|
|
16
26
|
canEdit,
|
|
17
27
|
canUseAIFolderExtraction,
|
|
@@ -82,7 +92,15 @@ const CascadePolicy = ({
|
|
|
82
92
|
className: "cascade-policy-link",
|
|
83
93
|
href: AI_LINK,
|
|
84
94
|
target: "_blank"
|
|
85
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.aiAutofillLearnMore))), /*#__PURE__*/React.createElement(
|
|
95
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.aiAutofillLearnMore))), /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
className: "metadata-cascade-ai-agent-selector"
|
|
97
|
+
}, /*#__PURE__*/React.createElement(TooltipProvider, null, /*#__PURE__*/React.createElement(BoxAiAgentSelector, {
|
|
98
|
+
agents: agents,
|
|
99
|
+
onErrorAction: () => {},
|
|
100
|
+
requestState: "success",
|
|
101
|
+
selectedAgent: agents[0],
|
|
102
|
+
variant: "sidebar"
|
|
103
|
+
}))), /*#__PURE__*/React.createElement(InlineNotice, {
|
|
86
104
|
className: "metadata-cascade-ai-notice",
|
|
87
105
|
variant: "info"
|
|
88
106
|
}, /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages.aiAutofillNotice, {
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { FormattedMessage } from 'react-intl';
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { BoxAiAgentSelector } from '@box/box-ai-agent-selector';
|
|
6
|
+
import { InlineNotice, TooltipProvider } from '@box/blueprint-web';
|
|
6
7
|
import BoxAiLogo from '@box/blueprint-web-assets/icons/Logo/BoxAiLogo';
|
|
7
8
|
|
|
8
9
|
import Toggle from '../../components/toggle';
|
|
@@ -15,6 +16,20 @@ import './CascadePolicy.scss';
|
|
|
15
16
|
const COMMUNITY_LINK = 'https://support.box.com/hc/en-us/articles/360044195873-Cascading-metadata-in-folders';
|
|
16
17
|
const AI_LINK = 'https://www.box.com/ai';
|
|
17
18
|
const PRICING_LINK = 'https://www.box.com/pricing';
|
|
19
|
+
|
|
20
|
+
const agents = [
|
|
21
|
+
{
|
|
22
|
+
id: '1',
|
|
23
|
+
name: 'Basic',
|
|
24
|
+
isEnterpriseDefault: true,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: '2',
|
|
28
|
+
name: 'Enhanced (Gemini 2.5 Pro)',
|
|
29
|
+
isEnterpriseDefault: false,
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
18
33
|
type Props = {
|
|
19
34
|
canEdit: boolean,
|
|
20
35
|
canUseAIFolderExtraction: boolean,
|
|
@@ -126,6 +141,17 @@ const CascadePolicy = ({
|
|
|
126
141
|
<FormattedMessage {...messages.aiAutofillLearnMore} />
|
|
127
142
|
</Link>
|
|
128
143
|
</div>
|
|
144
|
+
<div className="metadata-cascade-ai-agent-selector">
|
|
145
|
+
<TooltipProvider>
|
|
146
|
+
<BoxAiAgentSelector
|
|
147
|
+
agents={agents}
|
|
148
|
+
onErrorAction={() => {}}
|
|
149
|
+
requestState="success"
|
|
150
|
+
selectedAgent={agents[0]}
|
|
151
|
+
variant="sidebar"
|
|
152
|
+
/>
|
|
153
|
+
</TooltipProvider>
|
|
154
|
+
</div>
|
|
129
155
|
<InlineNotice className="metadata-cascade-ai-notice" variant="info">
|
|
130
156
|
<FormattedMessage
|
|
131
157
|
{...messages.aiAutofillNotice}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CascadePolicy.js","names":["React","FormattedMessage","InlineNotice","BoxAiLogo","Toggle","RadioButton","RadioGroup","Link","IconAlertDefault","messages","COMMUNITY_LINK","AI_LINK","PRICING_LINK","CascadePolicy","canEdit","canUseAIFolderExtraction","isCascadingEnabled","isCascadingOverwritten","isCustomMetadata","isAIFolderExtractionEnabled","onAIFolderExtractionToggle","onCascadeToggle","onCascadeModeChange","shouldShowCascadeOptions","readOnlyState","createElement","className","metadataCascadePolicyEnabledInfo","Fragment","_extends","tagName","enableCascadePolicy","isOn","label","onChange","e","target","checked","applyCascadePolicyText","href","cascadePolicyLearnMore","cannotApplyCascadePolicyText","cascadePolicyModeQuestion","operationNotImmediate","value","cascadePolicySkipMode","cascadePolicyOverwriteMode","width","height","enableAIAutofill","aiAutofillDescription","aiAutofillLearnMore","variant","aiAutofillNotice","values","pricingLink","aiAutofillPricingDetails"],"sources":["../../../src/features/metadata-instance-editor/CascadePolicy.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport { InlineNotice } from '@box/blueprint-web';\nimport BoxAiLogo from '@box/blueprint-web-assets/icons/Logo/BoxAiLogo';\n\nimport Toggle from '../../components/toggle';\nimport { RadioButton, RadioGroup } from '../../components/radio';\nimport Link from '../../components/link/Link';\nimport IconAlertDefault from '../../icons/general/IconAlertDefault';\nimport messages from './messages';\nimport './CascadePolicy.scss';\n\nconst COMMUNITY_LINK = 'https://support.box.com/hc/en-us/articles/360044195873-Cascading-metadata-in-folders';\nconst AI_LINK = 'https://www.box.com/ai';\nconst PRICING_LINK = 'https://www.box.com/pricing';\ntype Props = {\n canEdit: boolean,\n canUseAIFolderExtraction: boolean,\n isAIFolderExtractionEnabled: boolean,\n isCascadingEnabled: boolean,\n isCascadingOverwritten: boolean,\n isCustomMetadata: boolean,\n onAIFolderExtractionToggle: (value: boolean) => void,\n onCascadeModeChange: (value: boolean) => void,\n onCascadeToggle: (value: boolean) => void,\n shouldShowCascadeOptions: boolean,\n};\n\nconst CascadePolicy = ({\n canEdit,\n canUseAIFolderExtraction,\n isCascadingEnabled,\n isCascadingOverwritten,\n isCustomMetadata,\n isAIFolderExtractionEnabled,\n onAIFolderExtractionToggle,\n onCascadeToggle,\n onCascadeModeChange,\n shouldShowCascadeOptions,\n}: Props) => {\n const readOnlyState = isCascadingEnabled ? (\n <div className=\"metadata-cascade-notice\">\n <FormattedMessage {...messages.metadataCascadePolicyEnabledInfo} />\n </div>\n ) : null;\n\n return canEdit ? (\n <>\n <div className=\"metadata-cascade-editor\">\n <div className=\"metadata-cascade-enable\">\n <div>\n <FormattedMessage tagName=\"strong\" {...messages.enableCascadePolicy} />\n {!isCustomMetadata && (\n <Toggle\n className={`metadata-cascade-toggle ${\n isCascadingEnabled ? 'cascade-on' : 'cascade-off'\n }`}\n isOn={isCascadingEnabled}\n label=\"\"\n onChange={e => onCascadeToggle(e.target.checked)}\n />\n )}\n </div>\n {!isCustomMetadata ? (\n <div className=\"cascade-policy-text\">\n <FormattedMessage {...messages.applyCascadePolicyText} />\n \n <Link className=\"cascade-policy-link\" href={COMMUNITY_LINK} target=\"_blank\">\n <FormattedMessage {...messages.cascadePolicyLearnMore} />\n </Link>\n </div>\n ) : (\n <div>\n <FormattedMessage {...messages.cannotApplyCascadePolicyText} />\n </div>\n )}\n </div>\n </div>\n {shouldShowCascadeOptions && (\n <div className=\"metadata-cascade-editor\">\n <div className=\"metadata-cascading-mode\">\n <FormattedMessage {...messages.cascadePolicyModeQuestion} />\n\n <div className=\"metadata-operation-not-immediate\">\n <IconAlertDefault />\n <span>\n <FormattedMessage {...messages.operationNotImmediate} />\n </span>\n </div>\n <RadioGroup\n className=\"metadata-cascading-options\"\n onChange={e => onCascadeModeChange(e.target.value === 'overwrite')}\n value={isCascadingOverwritten ? 'overwrite' : 'skip'}\n >\n <RadioButton\n label={<FormattedMessage {...messages.cascadePolicySkipMode} />}\n value=\"skip\"\n />\n <RadioButton\n label={<FormattedMessage {...messages.cascadePolicyOverwriteMode} />}\n value=\"overwrite\"\n />\n </RadioGroup>\n </div>\n </div>\n )}\n {shouldShowCascadeOptions && canUseAIFolderExtraction && (\n <div className=\"metadata-cascade-editor\" data-testid=\"ai-folder-extraction\">\n <div className=\"metadata-cascade-enable\">\n <div>\n <BoxAiLogo className=\"metadata-cascade-ai-logo\" width={16} height={16} />\n <FormattedMessage tagName=\"strong\" {...messages.enableAIAutofill} />\n <Toggle\n className=\"metadata-cascade-toggle\"\n isOn={isAIFolderExtractionEnabled}\n label=\"\"\n onChange={e => onAIFolderExtractionToggle(e.target.checked)}\n />\n </div>\n <div className=\"cascade-policy-text\">\n <FormattedMessage {...messages.aiAutofillDescription} />\n \n <Link className=\"cascade-policy-link\" href={AI_LINK} target=\"_blank\">\n <FormattedMessage {...messages.aiAutofillLearnMore} />\n </Link>\n </div>\n <InlineNotice className=\"metadata-cascade-ai-notice\" variant=\"info\">\n <FormattedMessage\n {...messages.aiAutofillNotice}\n values={{\n pricingLink: (\n <Link className=\"cascade-policy-link\" href={PRICING_LINK} target=\"_blank\">\n <FormattedMessage {...messages.aiAutofillPricingDetails} />\n </Link>\n ),\n }}\n />\n </InlineNotice>\n </div>\n </div>\n )}\n </>\n ) : (\n readOnlyState\n );\n};\n\nexport default CascadePolicy;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CascadePolicy.js","names":["React","FormattedMessage","BoxAiAgentSelector","InlineNotice","TooltipProvider","BoxAiLogo","Toggle","RadioButton","RadioGroup","Link","IconAlertDefault","messages","COMMUNITY_LINK","AI_LINK","PRICING_LINK","agents","id","name","isEnterpriseDefault","CascadePolicy","canEdit","canUseAIFolderExtraction","isCascadingEnabled","isCascadingOverwritten","isCustomMetadata","isAIFolderExtractionEnabled","onAIFolderExtractionToggle","onCascadeToggle","onCascadeModeChange","shouldShowCascadeOptions","readOnlyState","createElement","className","metadataCascadePolicyEnabledInfo","Fragment","_extends","tagName","enableCascadePolicy","isOn","label","onChange","e","target","checked","applyCascadePolicyText","href","cascadePolicyLearnMore","cannotApplyCascadePolicyText","cascadePolicyModeQuestion","operationNotImmediate","value","cascadePolicySkipMode","cascadePolicyOverwriteMode","width","height","enableAIAutofill","aiAutofillDescription","aiAutofillLearnMore","onErrorAction","requestState","selectedAgent","variant","aiAutofillNotice","values","pricingLink","aiAutofillPricingDetails"],"sources":["../../../src/features/metadata-instance-editor/CascadePolicy.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport { BoxAiAgentSelector } from '@box/box-ai-agent-selector';\nimport { InlineNotice, TooltipProvider } from '@box/blueprint-web';\nimport BoxAiLogo from '@box/blueprint-web-assets/icons/Logo/BoxAiLogo';\n\nimport Toggle from '../../components/toggle';\nimport { RadioButton, RadioGroup } from '../../components/radio';\nimport Link from '../../components/link/Link';\nimport IconAlertDefault from '../../icons/general/IconAlertDefault';\nimport messages from './messages';\nimport './CascadePolicy.scss';\n\nconst COMMUNITY_LINK = 'https://support.box.com/hc/en-us/articles/360044195873-Cascading-metadata-in-folders';\nconst AI_LINK = 'https://www.box.com/ai';\nconst PRICING_LINK = 'https://www.box.com/pricing';\n\nconst agents = [\n {\n id: '1',\n name: 'Basic',\n isEnterpriseDefault: true,\n },\n {\n id: '2',\n name: 'Enhanced (Gemini 2.5 Pro)',\n isEnterpriseDefault: false,\n },\n];\n\ntype Props = {\n canEdit: boolean,\n canUseAIFolderExtraction: boolean,\n isAIFolderExtractionEnabled: boolean,\n isCascadingEnabled: boolean,\n isCascadingOverwritten: boolean,\n isCustomMetadata: boolean,\n onAIFolderExtractionToggle: (value: boolean) => void,\n onCascadeModeChange: (value: boolean) => void,\n onCascadeToggle: (value: boolean) => void,\n shouldShowCascadeOptions: boolean,\n};\n\nconst CascadePolicy = ({\n canEdit,\n canUseAIFolderExtraction,\n isCascadingEnabled,\n isCascadingOverwritten,\n isCustomMetadata,\n isAIFolderExtractionEnabled,\n onAIFolderExtractionToggle,\n onCascadeToggle,\n onCascadeModeChange,\n shouldShowCascadeOptions,\n}: Props) => {\n const readOnlyState = isCascadingEnabled ? (\n <div className=\"metadata-cascade-notice\">\n <FormattedMessage {...messages.metadataCascadePolicyEnabledInfo} />\n </div>\n ) : null;\n\n return canEdit ? (\n <>\n <div className=\"metadata-cascade-editor\">\n <div className=\"metadata-cascade-enable\">\n <div>\n <FormattedMessage tagName=\"strong\" {...messages.enableCascadePolicy} />\n {!isCustomMetadata && (\n <Toggle\n className={`metadata-cascade-toggle ${\n isCascadingEnabled ? 'cascade-on' : 'cascade-off'\n }`}\n isOn={isCascadingEnabled}\n label=\"\"\n onChange={e => onCascadeToggle(e.target.checked)}\n />\n )}\n </div>\n {!isCustomMetadata ? (\n <div className=\"cascade-policy-text\">\n <FormattedMessage {...messages.applyCascadePolicyText} />\n \n <Link className=\"cascade-policy-link\" href={COMMUNITY_LINK} target=\"_blank\">\n <FormattedMessage {...messages.cascadePolicyLearnMore} />\n </Link>\n </div>\n ) : (\n <div>\n <FormattedMessage {...messages.cannotApplyCascadePolicyText} />\n </div>\n )}\n </div>\n </div>\n {shouldShowCascadeOptions && (\n <div className=\"metadata-cascade-editor\">\n <div className=\"metadata-cascading-mode\">\n <FormattedMessage {...messages.cascadePolicyModeQuestion} />\n\n <div className=\"metadata-operation-not-immediate\">\n <IconAlertDefault />\n <span>\n <FormattedMessage {...messages.operationNotImmediate} />\n </span>\n </div>\n <RadioGroup\n className=\"metadata-cascading-options\"\n onChange={e => onCascadeModeChange(e.target.value === 'overwrite')}\n value={isCascadingOverwritten ? 'overwrite' : 'skip'}\n >\n <RadioButton\n label={<FormattedMessage {...messages.cascadePolicySkipMode} />}\n value=\"skip\"\n />\n <RadioButton\n label={<FormattedMessage {...messages.cascadePolicyOverwriteMode} />}\n value=\"overwrite\"\n />\n </RadioGroup>\n </div>\n </div>\n )}\n {shouldShowCascadeOptions && canUseAIFolderExtraction && (\n <div className=\"metadata-cascade-editor\" data-testid=\"ai-folder-extraction\">\n <div className=\"metadata-cascade-enable\">\n <div>\n <BoxAiLogo className=\"metadata-cascade-ai-logo\" width={16} height={16} />\n <FormattedMessage tagName=\"strong\" {...messages.enableAIAutofill} />\n <Toggle\n className=\"metadata-cascade-toggle\"\n isOn={isAIFolderExtractionEnabled}\n label=\"\"\n onChange={e => onAIFolderExtractionToggle(e.target.checked)}\n />\n </div>\n <div className=\"cascade-policy-text\">\n <FormattedMessage {...messages.aiAutofillDescription} />\n \n <Link className=\"cascade-policy-link\" href={AI_LINK} target=\"_blank\">\n <FormattedMessage {...messages.aiAutofillLearnMore} />\n </Link>\n </div>\n <div className=\"metadata-cascade-ai-agent-selector\">\n <TooltipProvider>\n <BoxAiAgentSelector\n agents={agents}\n onErrorAction={() => {}}\n requestState=\"success\"\n selectedAgent={agents[0]}\n variant=\"sidebar\"\n />\n </TooltipProvider>\n </div>\n <InlineNotice className=\"metadata-cascade-ai-notice\" variant=\"info\">\n <FormattedMessage\n {...messages.aiAutofillNotice}\n values={{\n pricingLink: (\n <Link className=\"cascade-policy-link\" href={PRICING_LINK} target=\"_blank\">\n <FormattedMessage {...messages.aiAutofillPricingDetails} />\n </Link>\n ),\n }}\n />\n </InlineNotice>\n </div>\n </div>\n )}\n </>\n ) : (\n readOnlyState\n );\n};\n\nexport default CascadePolicy;\n"],"mappings":"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","ignoreList":[]}
|