| 
1 | 1 | // eslint-disable @typescript-eslint/no-explicit-any  | 
2 | 2 | type BaseConfigurableProp = {  | 
 | 3 | +  /**  | 
 | 4 | +   * When building `configuredProps`, make sure to use this field as the key when  | 
 | 5 | +   * setting the prop value.  | 
 | 6 | +   */  | 
3 | 7 |   name: string;  | 
4 | 8 |   type: string;  | 
5 | 9 | 
 
  | 
6 | 10 |   // XXX don't actually apply to all, fix  | 
 | 11 | + | 
 | 12 | +  /**  | 
 | 13 | +   * Value to use as an input label. In cases where `type` is "app", should load  | 
 | 14 | +   * the app via `getApp`, etc. and show `app.name` instead.  | 
 | 15 | +   */  | 
7 | 16 |   label?: string;  | 
 | 17 | + | 
8 | 18 |   description?: string;  | 
9 | 19 |   optional?: boolean;  | 
10 | 20 |   disabled?: boolean;  | 
 | 21 | + | 
 | 22 | +  /**  | 
 | 23 | +   * If true, should not expose this prop to the user.  | 
 | 24 | +   */  | 
11 | 25 |   hidden?: boolean;  | 
 | 26 | + | 
 | 27 | +  /**  | 
 | 28 | +   * If true, call `configureComponent` for this prop to load remote options.  | 
 | 29 | +   * It is safe, and preferred, given a returned list of  | 
 | 30 | +   * { label: string; value: any } objects to set the prop  | 
 | 31 | +   * value to { __lv: { label: string; value: any } }. This way, on load, you  | 
 | 32 | +   * can access label for the value without necessarily reloading these options.  | 
 | 33 | +   */  | 
12 | 34 |   remoteOptions?: boolean;  | 
 | 35 | + | 
 | 36 | +  /**  | 
 | 37 | +   * If true, calls to `configureComponent` for this prop support receiving a  | 
 | 38 | +   * `query` parameter to filter remote options.  | 
 | 39 | +   */  | 
13 | 40 |   useQuery?: boolean;  | 
 | 41 | + | 
 | 42 | +  /**  | 
 | 43 | +   * If true, after setting a value for this prop, a call to `reloadComponentProps` is  | 
 | 44 | +   * required as the component has dynamic configurable props dependent on this  | 
 | 45 | +   * one.  | 
 | 46 | +   */  | 
14 | 47 |   reloadProps?: boolean;  | 
 | 48 | + | 
 | 49 | +  /**  | 
 | 50 | +   * If true, you must save the configured prop value as a "label-value" object  | 
 | 51 | +   * which should look like: { __lv: { label: string; value: any } }  | 
 | 52 | +   * because the execution needs to access the label.  | 
 | 53 | +   */  | 
 | 54 | +  withLabel?: boolean;  | 
15 | 55 | };  | 
16 | 56 | 
 
  | 
17 | 57 | // XXX fix duplicating mapping to value type here and with PropValue  | 
 | 
0 commit comments