@stoplight/elements-core 8.3.2 → 8.3.3

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.
@@ -20,6 +20,7 @@ export declare function exampleOptions(parameter: ParameterSpec): {
20
20
  }[] | null;
21
21
  export declare function parameterSupportsFileUpload(parameter?: Pick<ParameterSpec, 'schema'>): boolean | undefined;
22
22
  export declare function getPlaceholderForParameter(parameter: ParameterSpec): string;
23
+ export declare function getPlaceholderForSelectedParameter(parameter: ParameterSpec): string | undefined;
23
24
  export declare const initialParameterValues: (params: readonly ParameterSpec[]) => Record<string, string>;
24
25
  export declare function mapSchemaPropertiesToParameters(properties: {
25
26
  [key: string]: JSONSchema7Definition;
package/index.esm.js CHANGED
@@ -1346,6 +1346,13 @@ function getPlaceholderForParameter(parameter) {
1346
1346
  return `${isDefault ? 'defaults to' : 'example'}: ${parameterValue}`;
1347
1347
  return String((_b = (_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : '');
1348
1348
  }
1349
+ function getPlaceholderForSelectedParameter(parameter) {
1350
+ const { value: parameterValue, isDefault } = getValueForParameter(parameter);
1351
+ if (isDefault) {
1352
+ return `select an option (defaults to: ${parameterValue})`;
1353
+ }
1354
+ return undefined;
1355
+ }
1349
1356
  function retrieveDefaultFromSchema(parameter) {
1350
1357
  var _a;
1351
1358
  const defaultValue = (_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.default;
@@ -1424,7 +1431,7 @@ const ParameterEditor = ({ parameter, value, onChange, isOptional, onChangeOptio
1424
1431
  return (React.createElement(React.Fragment, null,
1425
1432
  React.createElement(Text, { as: "label", "aria-hidden": "true", "data-testid": "param-label", htmlFor: inputId, fontSize: "base" }, parameterDisplayName),
1426
1433
  React.createElement(Text, { mx: 3 }, ":"),
1427
- React.createElement("div", null, parameterValueOptions ? (React.createElement(Select, { flex: 1, "aria-label": parameter.name, options: parameterValueOptions, value: value || '', onChange: onChange })) : (React.createElement(Flex, { flex: 1 },
1434
+ React.createElement("div", null, parameterValueOptions ? (React.createElement(Select, { flex: 1, "aria-label": parameter.name, options: parameterValueOptions, value: value || '', onChange: onChange, placeholder: getPlaceholderForSelectedParameter(parameter) })) : (React.createElement(Flex, { flex: 1 },
1428
1435
  React.createElement(Input, { id: inputId, "aria-label": parameter.name, appearance: requiredButEmpty ? 'default' : 'minimal', flex: 1, placeholder: getPlaceholderForParameter(parameter), type: ((_b = parameter.schema) === null || _b === void 0 ? void 0 : _b.type) === 'number' ? 'number' : 'text', required: true, intent: requiredButEmpty ? 'danger' : 'default', value: value || '', onChange: e => onChange && onChange(e.currentTarget.value) }),
1429
1436
  examples && (React.createElement(Select, { "aria-label": `${parameter.name}-select`, flex: 1, value: selectedExample.value, options: examples, onChange: onChange }))))),
1430
1437
  canChangeOptional && !parameter.required && (React.createElement(React.Fragment, null,
package/index.js CHANGED
@@ -1407,6 +1407,13 @@ function getPlaceholderForParameter(parameter) {
1407
1407
  return `${isDefault ? 'defaults to' : 'example'}: ${parameterValue}`;
1408
1408
  return String((_b = (_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : '');
1409
1409
  }
1410
+ function getPlaceholderForSelectedParameter(parameter) {
1411
+ const { value: parameterValue, isDefault } = getValueForParameter(parameter);
1412
+ if (isDefault) {
1413
+ return `select an option (defaults to: ${parameterValue})`;
1414
+ }
1415
+ return undefined;
1416
+ }
1410
1417
  function retrieveDefaultFromSchema(parameter) {
1411
1418
  var _a;
1412
1419
  const defaultValue = (_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.default;
@@ -1485,7 +1492,7 @@ const ParameterEditor = ({ parameter, value, onChange, isOptional, onChangeOptio
1485
1492
  return (React__namespace.createElement(React__namespace.Fragment, null,
1486
1493
  React__namespace.createElement(mosaic.Text, { as: "label", "aria-hidden": "true", "data-testid": "param-label", htmlFor: inputId, fontSize: "base" }, parameterDisplayName),
1487
1494
  React__namespace.createElement(mosaic.Text, { mx: 3 }, ":"),
1488
- React__namespace.createElement("div", null, parameterValueOptions ? (React__namespace.createElement(mosaic.Select, { flex: 1, "aria-label": parameter.name, options: parameterValueOptions, value: value || '', onChange: onChange })) : (React__namespace.createElement(mosaic.Flex, { flex: 1 },
1495
+ React__namespace.createElement("div", null, parameterValueOptions ? (React__namespace.createElement(mosaic.Select, { flex: 1, "aria-label": parameter.name, options: parameterValueOptions, value: value || '', onChange: onChange, placeholder: getPlaceholderForSelectedParameter(parameter) })) : (React__namespace.createElement(mosaic.Flex, { flex: 1 },
1489
1496
  React__namespace.createElement(mosaic.Input, { id: inputId, "aria-label": parameter.name, appearance: requiredButEmpty ? 'default' : 'minimal', flex: 1, placeholder: getPlaceholderForParameter(parameter), type: ((_b = parameter.schema) === null || _b === void 0 ? void 0 : _b.type) === 'number' ? 'number' : 'text', required: true, intent: requiredButEmpty ? 'danger' : 'default', value: value || '', onChange: e => onChange && onChange(e.currentTarget.value) }),
1490
1497
  examples && (React__namespace.createElement(mosaic.Select, { "aria-label": `${parameter.name}-select`, flex: 1, value: selectedExample.value, options: examples, onChange: onChange }))))),
1491
1498
  canChangeOptional && !parameter.required && (React__namespace.createElement(React__namespace.Fragment, null,
package/index.mjs CHANGED
@@ -1346,6 +1346,13 @@ function getPlaceholderForParameter(parameter) {
1346
1346
  return `${isDefault ? 'defaults to' : 'example'}: ${parameterValue}`;
1347
1347
  return String((_b = (_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : '');
1348
1348
  }
1349
+ function getPlaceholderForSelectedParameter(parameter) {
1350
+ const { value: parameterValue, isDefault } = getValueForParameter(parameter);
1351
+ if (isDefault) {
1352
+ return `select an option (defaults to: ${parameterValue})`;
1353
+ }
1354
+ return undefined;
1355
+ }
1349
1356
  function retrieveDefaultFromSchema(parameter) {
1350
1357
  var _a;
1351
1358
  const defaultValue = (_a = parameter.schema) === null || _a === void 0 ? void 0 : _a.default;
@@ -1424,7 +1431,7 @@ const ParameterEditor = ({ parameter, value, onChange, isOptional, onChangeOptio
1424
1431
  return (React.createElement(React.Fragment, null,
1425
1432
  React.createElement(Text, { as: "label", "aria-hidden": "true", "data-testid": "param-label", htmlFor: inputId, fontSize: "base" }, parameterDisplayName),
1426
1433
  React.createElement(Text, { mx: 3 }, ":"),
1427
- React.createElement("div", null, parameterValueOptions ? (React.createElement(Select, { flex: 1, "aria-label": parameter.name, options: parameterValueOptions, value: value || '', onChange: onChange })) : (React.createElement(Flex, { flex: 1 },
1434
+ React.createElement("div", null, parameterValueOptions ? (React.createElement(Select, { flex: 1, "aria-label": parameter.name, options: parameterValueOptions, value: value || '', onChange: onChange, placeholder: getPlaceholderForSelectedParameter(parameter) })) : (React.createElement(Flex, { flex: 1 },
1428
1435
  React.createElement(Input, { id: inputId, "aria-label": parameter.name, appearance: requiredButEmpty ? 'default' : 'minimal', flex: 1, placeholder: getPlaceholderForParameter(parameter), type: ((_b = parameter.schema) === null || _b === void 0 ? void 0 : _b.type) === 'number' ? 'number' : 'text', required: true, intent: requiredButEmpty ? 'danger' : 'default', value: value || '', onChange: e => onChange && onChange(e.currentTarget.value) }),
1429
1436
  examples && (React.createElement(Select, { "aria-label": `${parameter.name}-select`, flex: 1, value: selectedExample.value, options: examples, onChange: onChange }))))),
1430
1437
  canChangeOptional && !parameter.required && (React.createElement(React.Fragment, null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoplight/elements-core",
3
- "version": "8.3.2",
3
+ "version": "8.3.3",
4
4
  "main": "./index.js",
5
5
  "sideEffects": [
6
6
  "web-components.min.js",