documentation-site/components/yard/config/progress-bar.ts (103 lines of code) (raw):

/* Copyright (c) Uber Technologies, Inc. This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree. */ import { ProgressBar, SIZE } from "baseui/progress-bar"; import { PropTypes } from "react-view"; import type { TConfig } from "../types"; const ProgressBarConfig: TConfig = { componentName: "ProgressBar", imports: { "baseui/progress-bar": { named: ["ProgressBar"] }, }, scope: { ProgressBar, SIZE, }, theme: ["progressbarTrackFill"], props: { value: { value: 10, type: PropTypes.Number, description: "Progress bar value attribute normalized in the 0 to 100 range.", stateful: true, }, "aria-label": { value: undefined, type: PropTypes.String, description: "Aria-label attribute", hidden: true, }, getProgressLabel: { placeholder: "(value) => `${10 * value}mb out of 1000mb downloaded` ", value: "", type: PropTypes.Function, description: "Can be used to display a custom label for the progress bar.", }, showLabel: { value: undefined, placeholder: "false", type: PropTypes.Boolean, description: "Can be used to show the progress bar label.", }, infinite: { value: undefined, placeholder: "false", type: PropTypes.Boolean, description: "Can be used to show the infinite progress bar.", }, size: { value: "SIZE.medium", defaultValue: "SIZE.medium", options: SIZE, type: PropTypes.Enum, description: "Renders component in provided size.", imports: { "baseui/progress-bar": { named: ["SIZE"], }, }, }, steps: { value: undefined, type: PropTypes.Number, description: "Defines how many steps the progress bar has. Defaults to 1.", }, minValue: { value: "0", defaultValue: "0", type: PropTypes.Number, description: "The smallest value allowed.", }, maxValue: { value: "100", defaultValue: "100", type: PropTypes.Number, description: "The biggest value allowed.", }, errorMessage: { value: undefined, type: PropTypes.String, description: "Error message for screen-reader users.", }, overrides: { value: undefined, type: PropTypes.Custom, description: "Lets you customize all aspects of the component.", custom: { names: [ "Bar", "BarProgress", "BarContainer", "InfiniteBar", "Label", "Root", ], sharedProps: { $successValue: "successValue", $value: "value", }, }, }, }, }; export default ProgressBarConfig;