@raycast/api 1.36.1 → 1.38.0

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/api.d.ts CHANGED
@@ -37,10 +37,13 @@ import { RefAttributes } from 'react';
37
37
  * }
38
38
  * ```
39
39
  */
40
- export declare const Action: FunctionComponent<ActionProps> & ConvenienceActions;
40
+ export declare const Action: FunctionComponent<ActionProps> & ConvenienceActions & {
41
+ Style: typeof ActionStyle;
42
+ };
41
43
 
42
44
  export declare namespace Action {
43
45
  export type Props = ActionProps;
46
+ export type Style = ActionStyle;
44
47
  export namespace CopyToClipboard {
45
48
  /**
46
49
  * Props of the {@link Action.CopyToClipboard} React component.
@@ -107,6 +110,12 @@ export declare namespace Action {
107
110
  */
108
111
  export type Props = TrashProps;
109
112
  }
113
+ export namespace ToggleQuickLook {
114
+ /**
115
+ * Props of the {@link Action.ToggleQuickLook} React component.
116
+ */
117
+ export type Props = ToggleQuickLookProps;
118
+ }
110
119
  }
111
120
 
112
121
  /**
@@ -188,7 +197,11 @@ declare type ActionPanelChildren_2 = ReactElement<ActionPanel.Section.Props> | R
188
197
  /**
189
198
  * @deprecated Use {@link Action} instead.
190
199
  */
191
- export declare const ActionPanelItem: FunctionComponent<ActionProps> & ConvenienceActions;
200
+ export declare const ActionPanelItem: FunctionComponent<ActionProps> & ConvenienceActions & {
201
+ Style: ActionStyle; /**
202
+ * @deprecated Use {@link Image.ImageLike} instead
203
+ */
204
+ };
192
205
 
193
206
  /**
194
207
  * @deprecated Use {@link Action.Props} instead.
@@ -354,6 +367,16 @@ declare interface ActionProps {
354
367
  * The icon displayed for the action.
355
368
  */
356
369
  icon?: Image.ImageLike | undefined | null;
370
+ /**
371
+ * Defines the visual style of the Action.
372
+ *
373
+ * @remarks
374
+ * Use {@link Action.Style.Regular} for displaying a regular actions.
375
+ * Use {@link Action.Style.Destructive} when your action has something that user should be careful about.
376
+ * Use the confirmation {@link Alert} if the action is doing something that user cannot revert.
377
+ * @defaultValue {@link Action.Style.Regular}
378
+ */
379
+ style?: ActionStyle;
357
380
  /**
358
381
  * The keyboard shortcut for the item.
359
382
  *
@@ -378,6 +401,19 @@ declare interface ActionsInterface {
378
401
  actions?: ReactNode;
379
402
  }
380
403
 
404
+ /**
405
+ * Defines the visual style of the Action.
406
+ *
407
+ * @remarks
408
+ * Use {@link Action.Style.Regular} for displaying a regular actions.
409
+ * Use {@link Action.Style.Destructive} when your action has something that user should be careful about.
410
+ * Use the confirmation {@link Alert} if the action is doing something that user cannot revert.
411
+ */
412
+ declare enum ActionStyle {
413
+ Regular = "regular",
414
+ Destructive = "destructive"
415
+ }
416
+
381
417
  export declare namespace Alert {
382
418
  /**
383
419
  * The options to create an {@link Alert}.
@@ -500,6 +536,131 @@ export declare interface Application {
500
536
  bundleId?: string;
501
537
  }
502
538
 
539
+ /**
540
+ * @beta
541
+ * A record type holding the arguments (entered in Raycast Root Search Bar) that have been passed to the command.
542
+ */
543
+ declare interface Arguments {
544
+ /**
545
+ * The representation of arguments given that key here is the `name` defined in manifest file and value is the user's input
546
+ */
547
+ [item: string]: any;
548
+ }
549
+
550
+ /**
551
+ * @beta
552
+ * An interface describing top-level props for arguments
553
+ */
554
+ export declare interface ArgumentsLaunchProps {
555
+ /**
556
+ * Use these values to populate the initial state for your command.
557
+ */
558
+ arguments?: Arguments;
559
+ }
560
+
561
+ /**
562
+ * Caching abstraction that stores data on disk and supports LRU (least recently used) access.
563
+ * Since extensions can only consume up to a max. heap memory size, the cache only maintains a lightweight index in memory
564
+ * and stores the actual data in separate files on disk in the extension's support directory.
565
+ *
566
+ * The Cache class provides CRUD-style methods (get, set, remove) to update and retrieve data synchronously based on a key.
567
+ * The data must be a string and it is up to the client to decide which serialization format to use.
568
+ * A typical use case would be to use `JSON.stringify` and `JSON.parse`.
569
+ *
570
+ * @remarks By default, the cache is shared between the commands of an extension. Use {@link Cache.Options} to configure
571
+ * a `namespace` per command if needed (for example, set it to `environment.commandName`).
572
+ *
573
+ * @example
574
+ * ```typescript
575
+ * import { Cache } from "@raycast/api";
576
+ *
577
+ * const cache = new Cache();
578
+ * cache.set("items", JSON.stringify([{ id: "1", title: "Item 1" }]));
579
+ * console.log(JSON.parse(cache.get("items")));
580
+ * ```
581
+ */
582
+ export declare class Cache {
583
+ static get STORAGE_DIRECTORY_NAME(): string;
584
+ static get DEFAULT_CAPACITY(): number;
585
+ private directory;
586
+ private namespace?;
587
+ private capacity;
588
+ private journal;
589
+ private storage;
590
+ private subscribers;
591
+ constructor(options?: Cache.Options);
592
+ /**
593
+ * @returns the full path to the directory where the data is stored on disk.
594
+ */
595
+ get storageDirectory(): string;
596
+ /**
597
+ * @returns the data for the given key. If there is no data for the key, `undefined` is returned.
598
+ * @remarks If you want to just check for the existence of a key, use {@link has}.
599
+ */
600
+ get(key: string): string | undefined;
601
+ /**
602
+ * @returns `true` if data for the key exists, `false` otherwise.
603
+ * @remarks You can use this method to check for entries without affecting the LRU access.
604
+ */
605
+ has(key: string): boolean;
606
+ /**
607
+ * @returns `true` if the cache is empty, `false` otherwise.
608
+ */
609
+ get isEmpty(): boolean;
610
+ /**
611
+ * Sets the data for the given key.
612
+ * If the data exceeds the configured `capacity`, the least recently used entries are removed.
613
+ * This also notifies registered subscribers (see {@link subscribe}).
614
+ */
615
+ set(key: string, data: string): void;
616
+ /**
617
+ * Removes the data for the given key.
618
+ * This also notifies registered subscribers (see {@link subscribe}).
619
+ * @returns `true` if data for the key was removed, `false` otherwise.
620
+ */
621
+ remove(key: string): boolean;
622
+ /**
623
+ * Clears all stored data.
624
+ * This also notifies registered subscribers (see {@link subscribe}) unless the `notifySubscribers` option is set to `false`.
625
+ */
626
+ clear(options?: {
627
+ notifySubscribers: boolean;
628
+ }): void;
629
+ /**
630
+ * Registers a new subscriber that gets notified when cache data is set or removed.
631
+ * @returns a function that can be called to remove the subscriber.
632
+ */
633
+ subscribe(subscriber: Cache.Subscriber): Cache.Subscription;
634
+ private maintainCapacity;
635
+ private notifySubscribers;
636
+ }
637
+
638
+ export declare namespace Cache {
639
+ /**
640
+ * The options for creating a new {@link Cache}.
641
+ */
642
+ export interface Options {
643
+ /**
644
+ * If set, the Cache will be namespaced via a subdirectory.
645
+ * This can be useful to separate the caches for individual commands of an extension.
646
+ * By default, the cache is shared between the commands of an extension.
647
+ */
648
+ namespace?: string;
649
+ /**
650
+ * The parent directory for the cache data.
651
+ * @deprecated this parameter will be removed in the future – use the default directory.
652
+ */
653
+ directory?: string;
654
+ /**
655
+ * The capacity in bytes. If the stored data exceeds the capacity, the least recently used data is removed.
656
+ * The default capacity is 10 MB.
657
+ */
658
+ capacity?: number;
659
+ }
660
+ export type Subscriber = (key: string | undefined, data: string | undefined) => void;
661
+ export type Subscription = () => void;
662
+ }
663
+
503
664
  /**
504
665
  * See {@link Form.Checkbox}
505
666
  */
@@ -1055,6 +1216,31 @@ declare interface ConvenienceActions {
1055
1216
  * ```
1056
1217
  */
1057
1218
  CreateQuicklink: typeof CreateQuicklink;
1219
+ /**
1220
+ * Action that toggles the Quick Look to preview a file.
1221
+ *
1222
+ * @example
1223
+ * ```typescript
1224
+ * import { ActionPanel, List, Action } from "@raycast/api";
1225
+ *
1226
+ * export default function Command() {
1227
+ * return (
1228
+ * <List>
1229
+ * <List.Item
1230
+ * title="Preview me"
1231
+ * quickLook={{ path: "~/Downloads/Raycast.dmg", name: "Some file" }}
1232
+ * actions={
1233
+ * <ActionPanel>
1234
+ * <Action.ToggleQuickLook shortcut={{ modifiers: ["cmd"], key: "y" }} />
1235
+ * </ActionPanel>
1236
+ * }
1237
+ * />
1238
+ * </ List>
1239
+ * );
1240
+ * }
1241
+ * ```
1242
+ */
1243
+ ToggleQuickLook: typeof ToggleQuickLook;
1058
1244
  }
1059
1245
 
1060
1246
  /**
@@ -1944,6 +2130,11 @@ export declare interface Environment {
1944
2130
  * The theme used by the Raycast application.
1945
2131
  */
1946
2132
  theme: "light" | "dark";
2133
+ /**
2134
+ * @beta
2135
+ * The type of launch for the command (user initiated or background).
2136
+ */
2137
+ launchType: LaunchType;
1947
2138
  }
1948
2139
 
1949
2140
  /**
@@ -1960,6 +2151,7 @@ export declare interface Environment {
1960
2151
  * console.log(`Support path: ${environment.supportPath}`);
1961
2152
  * console.log(`Is development mode: ${environment.isDevelopment}`);
1962
2153
  * console.log(`Raycast theme: ${environment.theme}`);
2154
+ * console.log(`Raycast launchType: ${environment.launchType}`);
1963
2155
  * ```
1964
2156
  */
1965
2157
  export declare const environment: Environment;
@@ -2007,6 +2199,18 @@ export declare namespace Form {
2007
2199
  export type Value = FormValue_2;
2008
2200
  export type Values = FormValues_2;
2009
2201
  export type Props = FormProps_2;
2202
+ /**
2203
+ * An interface describing event in callbacks {@link Form.Item.Props.onFocus} and {@link Form.Item.Props.onBlur}
2204
+ */
2205
+ export type Event<T extends FormValue_2> = FormEvent<T>;
2206
+ export namespace Event {
2207
+ /**
2208
+ * Types of Form event {@link Form.Event}
2209
+ * * `focus` - the type will be returned for the event of {@link Form.Item.Props.onFocus} callback
2210
+ * * `blur` - the type will be returned for the event of {@link Form.Item.Props.onBlur} callback
2211
+ */
2212
+ export type Type = FormEventType;
2213
+ }
2010
2214
  /**
2011
2215
  * A Ref Type for the {@link Form.TextField}.
2012
2216
  * Use refs to control your Form by calling `Form.TextField.focus()` or `Form.TextField.reset()` functions.
@@ -2637,9 +2841,37 @@ export declare interface FormDropdownSectionProps extends Form.Dropdown.Section.
2637
2841
 
2638
2842
  /**
2639
2843
  * An interface describing Form events in callbacks
2640
- * @beta
2844
+ *
2845
+ * @example
2846
+ * ```typescript
2847
+ *import { Form } from "@raycast/api";
2848
+ *
2849
+ *export default function Main() {
2850
+ * return (
2851
+ * <Form>
2852
+ * <Form.TextField id="textField" title="Text Field" onBlur={logEvent} onFocus={logEvent} />
2853
+ * <Form.TextArea id="textArea" title="Text Area" onBlur={logEvent} onFocus={logEvent} />
2854
+ * <Form.Dropdown id="dropdown" title="Dropdown" onBlur={logEvent} onFocus={logEvent}>
2855
+ * {[1, 2, 3, 4, 5, 6, 7].map((num) => (
2856
+ * <Form.Dropdown.Item value={String(num)} title={String(num)} key={num} />
2857
+ * ))}
2858
+ * </Form.Dropdown>
2859
+ * <Form.TagPicker id="tagPicker" title="Tag Picker" onBlur={logEvent} onFocus={logEvent}>
2860
+ * {[1, 2, 3, 4, 5, 6, 7].map((num) => (
2861
+ * <Form.TagPicker.Item value={String(num)} title={String(num)} key={num} />
2862
+ * ))}
2863
+ * </Form.TagPicker>
2864
+ * </Form>
2865
+ * );
2866
+ *}
2867
+ *
2868
+ *function logEvent(event: Form.Event) {
2869
+ * console.log(`Event '${event.type}' has happened for '${event.target.id}'. Current 'value': '${event.target.value}'`);
2870
+ *}
2871
+ *
2872
+ * ```
2641
2873
  */
2642
- declare interface FormEvent<T extends FormValue_2> {
2874
+ declare type FormEvent<T extends FormValue_2> = {
2643
2875
  /**
2644
2876
  * An interface containing target data related to the event
2645
2877
  */
@@ -2653,7 +2885,18 @@ declare interface FormEvent<T extends FormValue_2> {
2653
2885
  */
2654
2886
  value?: T;
2655
2887
  };
2656
- }
2888
+ /**
2889
+ * A type of event
2890
+ */
2891
+ type: FormEventType;
2892
+ };
2893
+
2894
+ /**
2895
+ * Types of Form event ({@link Form.Event}).
2896
+ * * `focus` will be returned for the event of {@link Form.Item.Props.onFocus} callback
2897
+ * * `blur` will be returned for the event of {@link Form.Item.Props.onBlur} callback
2898
+ */
2899
+ declare type FormEventType = "focus" | "blur";
2657
2900
 
2658
2901
  /**
2659
2902
  * @deprecated Use {@link Form.ItemProps} instead.
@@ -2678,6 +2921,11 @@ declare interface FormItemProps_2<T extends FormValue_2> {
2678
2921
  * An optional info message to describe the form item. It appears on the right side of the item with an info icon. When the icon is hovered, the info message is shown.
2679
2922
  */
2680
2923
  info?: string;
2924
+ /**
2925
+ * An optional error message to show the form item validation issues.
2926
+ * If the `error` is present, the Form Item will be highlighted with red border and will show an error message on the right.
2927
+ */
2928
+ error?: string;
2681
2929
  /**
2682
2930
  * Indicates whether the value of the item should be persisted after submitting, and restored next time the form is rendered.
2683
2931
  */
@@ -2704,11 +2952,13 @@ declare interface FormItemProps_2<T extends FormValue_2> {
2704
2952
  */
2705
2953
  onChange?: (newValue: T) => void;
2706
2954
  /**
2707
- * The callback which will be triggered when the item loses focus.
2708
- * The `event` object contains data with {@link FormItemProps.id} and current {@link FormItemProps.value} for the item.
2709
- * @beta
2955
+ * The callback that will be triggered when the item loses its focus.
2710
2956
  */
2711
2957
  onBlur?: (event: FormEvent<T>) => void;
2958
+ /**
2959
+ * The callback which will be triggered should be called when the item is focused.
2960
+ */
2961
+ onFocus?: (event: FormEvent<T>) => void;
2712
2962
  }
2713
2963
 
2714
2964
  /**
@@ -2786,6 +3036,17 @@ declare interface FormItemRef {
2786
3036
  reset: () => void;
2787
3037
  }
2788
3038
 
3039
+ /**
3040
+ * An interface describing top-level props for Form drafts
3041
+ */
3042
+ export declare interface FormLaunchProps {
3043
+ /**
3044
+ * When a user enters the command via a draft, this object will contain the user inputs that were saved as a draft.
3045
+ * Use its values to populate the initial state for your Form.
3046
+ */
3047
+ draftValues?: Form.Values;
3048
+ }
3049
+
2789
3050
  declare interface FormMembers {
2790
3051
  /**
2791
3052
  * A form item with a checkbox.
@@ -3227,6 +3488,12 @@ export declare interface FormProps extends Form.Props {
3227
3488
  * Props of the {@link Form} React component.
3228
3489
  */
3229
3490
  declare interface FormProps_2 extends ActionsInterface, NavigationChildInterface {
3491
+ /**
3492
+ * Defines whether the Form.Items values will be preserved when user exits the screen.
3493
+ * @remarks Keep in mind that drafts for forms nested in navigation is not supported yet. In the case you will see a warning about it.
3494
+ * @defaultValue `false`
3495
+ */
3496
+ enableDrafts?: boolean;
3230
3497
  /**
3231
3498
  * The Form.Item elements of the form.
3232
3499
  */
@@ -3648,7 +3915,7 @@ declare interface GridMembers {
3648
3915
  * export default function Command() {
3649
3916
  * return (
3650
3917
  * <Grid>
3651
- * <Grid.Item icon={Icon.Star} title="Augustiner Helles" subtitle="0,5 Liter" accessories={[{ text: "Germany" }]} />
3918
+ * <Grid.Item icon={Icon.Star} title="Augustiner Helles" subtitle="0,5 Liter" />
3652
3919
  * </Grid>
3653
3920
  * );
3654
3921
  * }
@@ -3689,11 +3956,10 @@ declare interface GridMembers {
3689
3956
  * import { Grid } from "@raycast/api";
3690
3957
  *
3691
3958
  * function DrinkDropdown(props: DrinkDropdownProps) {
3692
- * const { isLoading = false, drinkTypes, onDrinkTypeChange } = props;
3959
+ * const { drinkTypes, onDrinkTypeChange } = props;
3693
3960
  * return (
3694
3961
  * <Grid.Dropdown
3695
3962
  * tooltip="Select Drink Type"
3696
- * disabled={isLoading}
3697
3963
  * storeValue={true}
3698
3964
  * onChange={(newValue) => {
3699
3965
  * onDrinkTypeChange(newValue);
@@ -3811,55 +4077,419 @@ declare interface GridProps extends ActionsInterface, NavigationChildInterface {
3811
4077
  * ```
3812
4078
  */
3813
4079
  export declare enum Icon {
4080
+ AddPerson = "add-person-16",
4081
+ Airplane = "airplane-16",
4082
+ AirplaneFilled = "airplane-filled-16",
4083
+ AirplaneLanding = "airplane-landing-16",
4084
+ AirplaneTakeoff = "airplane-takeoff-16",
4085
+ Airpods = "airpods-16",
4086
+ Alarm = "alarm-16",
4087
+ AlarmRinging = "alarm-ringing-16",
4088
+ AlignCentre = "align-centre-16",
4089
+ AlignLeft = "align-left-16",
4090
+ AlignRight = "align-right-16",
4091
+ AmericanFootball = "american-football-16",
4092
+ Anchor = "anchor-16",
4093
+ AppWindow = "app-window-16",
4094
+ AppWindowGrid2x2 = "app-window-grid-2x2-16",
4095
+ AppWindowGrid3x3 = "app-window-grid-3x3-16",
4096
+ AppWindowList = "app-window-list-16",
4097
+ AppWindowSidebarLeft = "app-window-sidebar-left-16",
4098
+ AppWindowSidebarRight = "app-window-sidebar-right-16",
3814
4099
  ArrowClockwise = "arrow-clockwise-16",
3815
- TwoArrowsClockwise = "arrow-2-clockwise-16",
4100
+ ArrowCounterClockwise = "arrow-counter-clockwise-16",
4101
+ ArrowDown = "arrow-down-16",
4102
+ ArrowDownCircle = "arrow-down-circle-16",
4103
+ ArrowDownCircleFilled = "arrow-down-circle-filled-16",
4104
+ ArrowLeft = "arrow-left-16",
4105
+ ArrowLeftCircle = "arrow-left-circle-16",
4106
+ ArrowLeftCircleFilled = "arrow-left-circle-filled-16",
4107
+ ArrowNe = "arrow-ne-16",
3816
4108
  ArrowRight = "arrow-right-16",
4109
+ ArrowRightCircle = "arrow-right-circle-16",
4110
+ ArrowRightCircleFilled = "arrow-right-circle-filled-16",
4111
+ ArrowUp = "arrow-up-16",
4112
+ ArrowUpCircle = "arrow-up-circle-16",
4113
+ ArrowUpCircleFilled = "arrow-up-circle-filled-16",
4114
+ AtSymbol = "at-symbol-16",
4115
+ BandAid = "band-aid-16",
4116
+ BankNote = "bank-note-16",
4117
+ BarChart = "bar-chart-16",
4118
+ BarCode = "bar-code-16",
4119
+ BathTub = "bath-tub-16",
4120
+ Battery = "battery-16",
4121
+ BatteryCharging = "battery-charging-16",
4122
+ BatteryDisabled = "battery-disabled-16",
4123
+ Bell = "bell-16",
4124
+ BellDisabled = "bell-disabled-16",
4125
+ Bike = "bike-16",
3817
4126
  Binoculars = "binoculars-16",
3818
- Bubble = "bubble-left-16",
4127
+ BlankDocument = "blank-document-16",
4128
+ Bluetooth = "bluetooth-16",
4129
+ Boat = "boat-16",
4130
+ Bold = "bold-16",
4131
+ Bolt = "bolt-16",
4132
+ BoltDisabled = "bolt-disabled-16",
4133
+ Book = "book-16",
4134
+ Bookmark = "bookmark-16",
4135
+ Box = "box-16",
4136
+ Brush = "brush-16",
4137
+ Bubble = "speech-bubble-16",
4138
+ Bug = "bug-16",
4139
+ BulletPoints = "bullet-points-16",
4140
+ BullsEye = "bulls-eye-16",
4141
+ Buoy = "buoy-16",
4142
+ Calculator = "calculator-16",
3819
4143
  Calendar = "calendar-16",
3820
- Checkmark = "checkmark-circle-16",
4144
+ Camera = "camera-16",
4145
+ Car = "car-16",
4146
+ Cart = "cart-16",
4147
+ Cd = "cd-16",
4148
+ Center = "center-16",
4149
+ Check = "check-16",
4150
+ CheckCircle = "check-circle-16",
4151
+ Checkmark = "check-circle-16",
4152
+ ChessPiece = "chess-piece-16",
3821
4153
  ChevronDown = "chevron-down-16",
4154
+ ChevronLeft = "chevron-left-16",
4155
+ ChevronRight = "chevron-right-16",
3822
4156
  ChevronUp = "chevron-up-16",
3823
4157
  Circle = "circle-16",
3824
- Clipboard = "doc-on-clipboard-16",
4158
+ CircleEllipsis = "circle-ellipsis-16",
4159
+ CircleFilled = "circle-filled-16",
4160
+ CircleProgress = "circle-progress-16",
4161
+ CircleProgress100 = "circle-progress-100-16",
4162
+ CircleProgress25 = "circle-progress-25-16",
4163
+ CircleProgress50 = "circle-progress-50-16",
4164
+ CircleProgress75 = "circle-progress-75-16",
4165
+ ClearFormatting = "clear-formatting-16",
4166
+ Clipboard = "copy-clipboard-16",
3825
4167
  Clock = "clock-16",
3826
- Desktop = "desktopcomputer-16",
3827
- Document = "doc-16",
4168
+ Cloud = "cloud-16",
4169
+ CloudLightning = "cloud-lightning-16",
4170
+ CloudRain = "cloud-rain-16",
4171
+ CloudSnow = "cloud-snow-16",
4172
+ CloudSun = "cloud-sun-16",
4173
+ Code = "code-16",
4174
+ CodeBlock = "code-block-16",
4175
+ Cog = "cog-16",
4176
+ Coin = "coin-16",
4177
+ Coins = "coins-16",
4178
+ Compass = "compass-16",
4179
+ ComputerChip = "computer-chip-16",
4180
+ Contrast = "contrast-16",
4181
+ CopyClipboard = "copy-clipboard-16",
4182
+ CreditCard = "credit-card-16",
4183
+ CricketBall = "cricket-ball-16",
4184
+ Crop = "crop-16",
4185
+ Crown = "crown-16",
4186
+ Crypto = "crypto-16",
4187
+ DeleteDocument = "delete-document-16",
4188
+ Desktop = "desktop-16",
4189
+ Dna = "dna-16",
4190
+ Document = "blank-document-16",
3828
4191
  Dot = "dot-16",
3829
- Download = "square-and-arrow-down-16",
4192
+ Download = "download-16",
4193
+ EditShape = "edit-shape-16",
4194
+ Eject = "eject-16",
4195
+ Ellipsis = "ellipsis-16",
4196
+ Emoji = "emoji-16",
3830
4197
  Envelope = "envelope-16",
3831
- ExclamationMark = "exclamation-mark-triangle-16",
4198
+ Eraser = "eraser-16",
4199
+ ExclamationMark = "important-01-16",
4200
+ Exclamationmark = "exclamationmark-16",
4201
+ Exclamationmark2 = "exclamationmark-2-16",
4202
+ Exclamationmark3 = "exclamationmark-3-16",
3832
4203
  Eye = "eye-16",
3833
- EyeSlash = "eye-slash-16",
4204
+ EyeDisabled = "eye-disabled-16",
4205
+ EyeDropper = "eye-dropper-16",
4206
+ Female = "female-16",
4207
+ FilmStrip = "film-strip-16",
4208
+ Filter = "filter-16",
3834
4209
  Finder = "finder-16",
3835
- Gear = "gearshape-16",
3836
- Globe = "globe-16",
4210
+ Fingerprint = "fingerprint-16",
4211
+ Folder = "folder-16",
4212
+ Footprints = "footprints-16",
4213
+ Forward = "forward-16",
4214
+ ForwardFilled = "forward-filled-16",
4215
+ FountainTip = "fountain-tip-16",
4216
+ FullSignal = "full-signal-16",
4217
+ GameController = "game-controller-16",
4218
+ Gauge = "gauge-16",
4219
+ Gear = "cog-16",
4220
+ Geopin = "geopin-16",
4221
+ Germ = "germ-16",
4222
+ Gift = "gift-16",
4223
+ Glasses = "glasses-16",
4224
+ Globe = "globe-01-16",
4225
+ Goal = "goal-16",
3837
4226
  Hammer = "hammer-16",
3838
- LevelMeter = "level-meter-16",
4227
+ HardDrive = "hard-drive-16",
4228
+ Hashtag = "hashtag-16",
4229
+ Headphones = "headphones-16",
4230
+ Heart = "heart-16",
4231
+ HeartDisabled = "heart-disabled-16",
4232
+ Heartbeat = "heartbeat-16",
4233
+ Highlight = "highlight-16",
4234
+ Hourglass = "hourglass-16",
4235
+ House = "house-16",
4236
+ Image = "image-16",
4237
+ Important = "important-01-16",
4238
+ Info = "info-01-16",
4239
+ Italics = "italics-16",
4240
+ Key = "key-16",
4241
+ Keyboard = "keyboard-16",
4242
+ Layers = "layers-16",
4243
+ Leaderboard = "leaderboard-16",
4244
+ Leaf = "leaf-16",
4245
+ LevelMeter = "signal-2-16",
4246
+ LightBulb = "light-bulb-16",
4247
+ LightBulbOff = "light-bulb-off-16",
4248
+ LineChart = "line-chart-16",
3839
4249
  Link = "link-16",
3840
- List = "main-list-view-16",
3841
- MagnifyingGlass = "magnifyingglass-16",
3842
- MemoryChip = "memorychip-16",
3843
- Message = "message-16",
4250
+ List = "app-window-list-16",
4251
+ Livestream = "livestream-01-16",
4252
+ Lock = "lock-16",
4253
+ LockDisabled = "lock-disabled-16",
4254
+ LockUnlocked = "lock-unlocked-16",
4255
+ Logout = "logout-16",
4256
+ Lorry = "lorry-16",
4257
+ Lowercase = "lowercase-16",
4258
+ MagnifyingGlass = "magnifying-glass-16",
4259
+ Male = "male-16",
4260
+ Map = "map-16",
4261
+ Mask = "mask-16",
4262
+ Maximize = "maximize-16",
4263
+ MedicalSupport = "medical-support-16",
4264
+ Megaphone = "megaphone-16",
4265
+ MemoryChip = "computer-chip-16",
4266
+ MemoryStick = "memory-stick-16",
4267
+ Message = "speech-bubble-16",
4268
+ Microphone = "microphone-16",
4269
+ MicrophoneDisabled = "microphone-disabled-16",
4270
+ Minimize = "minimize-16",
4271
+ Minus = "minus-16",
4272
+ MinusCircle = "minus-circle-16",
4273
+ MinusCircleFilled = "minus-circle-filled-16",
4274
+ Mobile = "mobile-16",
4275
+ Monitor = "monitor-16",
4276
+ Moon = "moon-16",
4277
+ Mountain = "mountain-16",
4278
+ Mouse = "mouse-16",
4279
+ Multiply = "multiply-16",
4280
+ Music = "music-16",
4281
+ Network = "network-16",
4282
+ NewDocument = "new-document-16",
4283
+ NewFolder = "new-folder-16",
4284
+ Number = "number-01-16",
4285
+ Number00 = "number-00-16",
4286
+ Number10 = "number-10-16",
4287
+ Number11 = "number-11-16",
4288
+ Number12 = "number-12-16",
4289
+ Number13 = "number-13-16",
4290
+ Number14 = "number-14-16",
4291
+ Number15 = "number-15-16",
4292
+ Number16 = "number-16-16",
4293
+ Number17 = "number-17-16",
4294
+ Number18 = "number-18-16",
4295
+ Number19 = "number-19-16",
4296
+ Number20 = "number-20-16",
4297
+ Number21 = "number-21-16",
4298
+ Number22 = "number-22-16",
4299
+ Number23 = "number-23-16",
4300
+ Number24 = "number-24-16",
4301
+ Number25 = "number-25-16",
4302
+ Number26 = "number-26-16",
4303
+ Number27 = "number-27-16",
4304
+ Number28 = "number-28-16",
4305
+ Number29 = "number-29-16",
4306
+ Number30 = "number-30-16",
4307
+ Number31 = "number-31-16",
4308
+ Number32 = "number-32-16",
4309
+ Number33 = "number-33-16",
4310
+ Number34 = "number-34-16",
4311
+ Number35 = "number-35-16",
4312
+ Number36 = "number-36-16",
4313
+ Number37 = "number-37-16",
4314
+ Number38 = "number-38-16",
4315
+ Number39 = "number-39-16",
4316
+ Number40 = "number-40-16",
4317
+ Number41 = "number-41-16",
4318
+ Number42 = "number-42-16",
4319
+ Number43 = "number-43-16",
4320
+ Number44 = "number-44-16",
4321
+ Number45 = "number-45-16",
4322
+ Number46 = "number-46-16",
4323
+ Number47 = "number-47-16",
4324
+ Number48 = "number-48-16",
4325
+ Number49 = "number-49-16",
4326
+ Number50 = "number-50-16",
4327
+ Number51 = "number-51-16",
4328
+ Number52 = "number-52-16",
4329
+ Number53 = "number-53-16",
4330
+ Number54 = "number-54-16",
4331
+ Number55 = "number-55-16",
4332
+ Number56 = "number-56-16",
4333
+ Number57 = "number-57-16",
4334
+ Number58 = "number-58-16",
4335
+ Number59 = "number-59-16",
4336
+ Number60 = "number-60-16",
4337
+ Number61 = "number-61-16",
4338
+ Number62 = "number-62-16",
4339
+ Number63 = "number-63-16",
4340
+ Number64 = "number-64-16",
4341
+ Number65 = "number-65-16",
4342
+ Number66 = "number-66-16",
4343
+ Number67 = "number-67-16",
4344
+ Number68 = "number-68-16",
4345
+ Number69 = "number-69-16",
4346
+ Number70 = "number-70-16",
4347
+ Number71 = "number-71-16",
4348
+ Number72 = "number-72-16",
4349
+ Number73 = "number-73-16",
4350
+ Number74 = "number-74-16",
4351
+ Number75 = "number-75-16",
4352
+ Number76 = "number-76-16",
4353
+ Number77 = "number-77-16",
4354
+ Number78 = "number-78-16",
4355
+ Number79 = "number-79-16",
4356
+ Number80 = "number-80-16",
4357
+ Number81 = "number-81-16",
4358
+ Number82 = "number-82-16",
4359
+ Number83 = "number-83-16",
4360
+ Number84 = "number-84-16",
4361
+ Number85 = "number-85-16",
4362
+ Number86 = "number-86-16",
4363
+ Number87 = "number-87-16",
4364
+ Number88 = "number-88-16",
4365
+ Number89 = "number-89-16",
4366
+ Number90 = "number-90-16",
4367
+ Number91 = "number-91-16",
4368
+ Number92 = "number-92-16",
4369
+ Number93 = "number-93-16",
4370
+ Number94 = "number-94-16",
4371
+ Number95 = "number-95-16",
4372
+ Number96 = "number-96-16",
4373
+ Number97 = "number-97-16",
4374
+ Number98 = "number-98-16",
4375
+ Number99 = "number-99-16",
4376
+ Paperclip = "paperclip-16",
4377
+ Patch = "patch-16",
4378
+ Pause = "pause-16",
4379
+ PauseFilled = "pause-filled-16",
3844
4380
  Pencil = "pencil-16",
3845
- Person = "person-crop-circle-16",
4381
+ Person = "person-16",
4382
+ PersonCircle = "person-circle-16",
3846
4383
  Phone = "phone-16",
4384
+ PhoneRinging = "phone-ringing-16",
4385
+ PieChart = "pie-chart-16",
4386
+ Pill = "pill-16",
3847
4387
  Pin = "pin-16",
4388
+ PinDisabled = "pin-disabled-16",
4389
+ Play = "play-16",
4390
+ PlayFilled = "play-filled-16",
4391
+ Plug = "plug-16",
3848
4392
  Plus = "plus-16",
3849
- Sidebar = "sidebar-right-16",
3850
- SpeakerArrowDown = "speaker-arrow-down-16",
3851
- SpeakerArrowUp = "speaker-arrow-up-16",
3852
- SpeakerSlash = "speaker-slash-16",
4393
+ PlusCircle = "plus-circle-16",
4394
+ PlusCircleFilled = "plus-circle-filled-16",
4395
+ PlusMinusDivideMultiply = "plus-minus-divide-multiply-16",
4396
+ Power = "power-16",
4397
+ Print = "print-16",
4398
+ QuestionMark = "question-mark-circle-16",
4399
+ QuestionMarkCircle = "question-mark-circle-16",
4400
+ QuotationMarks = "quotation-marks-16",
4401
+ QuoteBlock = "quote-block-16",
4402
+ Racket = "racket-16",
4403
+ Raindrop = "raindrop-16",
4404
+ RaycastLogoNeg = "raycast-logo-neg-16",
4405
+ RaycastLogoPos = "raycast-logo-pos-16",
4406
+ Receipt = "receipt-16",
4407
+ Redo = "redo-16",
4408
+ RemovePerson = "remove-person-16",
4409
+ Repeat = "repeat-16",
4410
+ Reply = "reply-16",
4411
+ Rewind = "rewind-16",
4412
+ RewindFilled = "rewind-filled-16",
4413
+ Rocket = "rocket-16",
4414
+ Rosette = "rosette-16",
4415
+ RotateAntiClockwise = "rotate-anti-clockwise-16",
4416
+ RotateClockwise = "rotate-clockwise-16",
4417
+ Ruler = "ruler-16",
4418
+ SaveDocument = "save-document-16",
4419
+ Shield = "shield-01-16",
4420
+ Shuffle = "shuffle-16",
4421
+ Sidebar = "app-window-sidebar-right-16",
4422
+ Signal1 = "signal-1-16",
4423
+ Signal2 = "signal-2-16",
4424
+ Signal3 = "signal-3-16",
4425
+ Snippets = "snippets-16",
4426
+ Snowflake = "snowflake-16",
4427
+ SoccerBall = "soccer-ball-16",
4428
+ SpeakerDown = "speaker-down-16",
4429
+ SpeakerHigh = "speaker-high-16",
4430
+ SpeakerLow = "speaker-low-16",
4431
+ SpeakerOff = "speaker-off-16",
4432
+ SpeakerOn = "speaker-on-16",
4433
+ SpeakerUp = "speaker-up-16",
4434
+ SpeechBubble = "speech-bubble-16",
4435
+ SpeechBubbleActive = "speech-bubble-active-16",
4436
+ SpeechBubbleImportant = "speech-bubble-important-16",
3853
4437
  Star = "star-16",
3854
- Text = "text-alignleft-16",
3855
- TextDocument = "doc-plaintext-16",
3856
- QuestionMark = "questionmark-circle-16",
4438
+ StarCircle = "star-circle-16",
4439
+ StarDisabled = "star-disabled-16",
4440
+ Stars = "stars-16",
4441
+ Stop = "stop-16",
4442
+ StopFilled = "stop-filled-16",
4443
+ Stopwatch = "stopwatch-16",
4444
+ Store = "store-16",
4445
+ StrikeThrough = "strike-through-16",
4446
+ Sun = "sun-16",
4447
+ Sunrise = "sunrise-16",
4448
+ Swatch = "swatch-16",
4449
+ Switch = "switch-16",
4450
+ Syringe = "syringe-16",
4451
+ Tag = "tag-16",
4452
+ Temperature = "temperature-16",
4453
+ TennisBall = "tennis-ball-16",
3857
4454
  Terminal = "terminal-16",
4455
+ Text = "text-16",
4456
+ TextCursor = "text-cursor-16",
4457
+ Torch = "torch-16",
4458
+ Train = "train-16",
3858
4459
  Trash = "trash-16",
3859
- Upload = "square-and-arrow-up-16",
4460
+ Tray = "tray-16",
4461
+ Tree = "tree-16",
4462
+ Trophy = "trophy-16",
4463
+ TwoPeople = "two-people-16",
4464
+ Umbrella = "umbrella-16",
4465
+ Underline = "underline-16",
4466
+ Undo = "undo-16",
4467
+ Upload = "upload-16",
4468
+ Uppercase = "uppercase-16",
3860
4469
  Video = "video-16",
3861
- Window = "macwindow-16",
3862
- XmarkCircle = "xmark-circle-16"
4470
+ Wallet = "wallet-16",
4471
+ Wand = "wand-16",
4472
+ Warning = "warning-16",
4473
+ Weights = "weights-16",
4474
+ Wifi = "wifi-16",
4475
+ WifiDisabled = "wifi-disabled-16",
4476
+ Window = "app-window-16",
4477
+ WrenchScrewdriver = "wrench-screwdriver-16",
4478
+ WristWatch = "wrist-watch-16",
4479
+ XMarkCircle = "x-mark-circle-16",
4480
+ XMarkCircleFilled = "x-mark-circle-filled-16",
4481
+ /** @deprecated Use {@link Icon.ArrowClockwise} instead. */
4482
+ TwoArrowsClockwise = "arrow-clockwise-16",
4483
+ /** @deprecated Use {@link Icon.EyeDisabled} instead. */
4484
+ EyeSlash = "eye-disabled-16",
4485
+ /** @deprecated Use {@link Icon.SpeakerDown} instead. */
4486
+ SpeakerArrowDown = "speaker-down-16",
4487
+ /** @deprecated Use {@link Icon.SpeakerUp} instead. */
4488
+ SpeakerArrowUp = "speaker-up-16",
4489
+ /** @deprecated Use {@link Icon.SpeakerOff} instead. */
4490
+ SpeakerSlash = "speaker-off-16",
4491
+ /** @deprecated Use {@link Icon.BlankDocument} instead. */
4492
+ TextDocument = "blank-document-16"
3863
4493
  }
3864
4494
 
3865
4495
  /**
@@ -4053,11 +4683,23 @@ declare const Item: FunctionComponent<ItemProps> & ItemMembers;
4053
4683
  */
4054
4684
  declare const Item_2: FunctionComponent<ItemProps_2>;
4055
4685
 
4056
- declare interface ItemAccessory {
4686
+ /**
4687
+ * @beta
4688
+ * See {@link MenuBarExtra.Item}
4689
+ */
4690
+ declare const Item_3: FunctionComponent<ItemProps_3>;
4691
+
4692
+ declare type ItemAccessory = ({
4057
4693
  /**
4058
4694
  * An optional text that will be used as the label.
4059
4695
  */
4060
4696
  text?: string | undefined | null;
4697
+ } | {
4698
+ /**
4699
+ * An optional Date that will be used as the label. The date is formatted relatively to the current time (for example `new Date()` will be displayed as `"now"`, yesterday's Date will be displayed as "1d", etc.).
4700
+ */
4701
+ date?: Date | undefined | null;
4702
+ }) & {
4061
4703
  /**
4062
4704
  * An optional {@link Image.ImageLike} that will be used as the icon.
4063
4705
  * @remarks
@@ -4068,7 +4710,7 @@ declare interface ItemAccessory {
4068
4710
  * An optional tooltip shown when the accessory is hovered.
4069
4711
  */
4070
4712
  tooltip?: string | undefined | null;
4071
- }
4713
+ };
4072
4714
 
4073
4715
  declare interface ItemMembers {
4074
4716
  /**
@@ -4146,6 +4788,16 @@ declare interface ItemProps extends ActionsInterface {
4146
4788
  * The `List.Item.Detail` to be rendered in the right side area when the parent List is showing details and the item is selected.
4147
4789
  */
4148
4790
  detail?: ReactNode;
4791
+ /**
4792
+ * Optional information to preview files with Quick Look. Toggle the preview with {@link Action.ToggleQuickLook}.
4793
+ *
4794
+ * @remarks
4795
+ * If no `name` is specified, the file name of the given path is used.
4796
+ */
4797
+ quickLook?: {
4798
+ name?: string | null;
4799
+ path: string;
4800
+ };
4149
4801
  }
4150
4802
 
4151
4803
  declare interface ItemProps_2 extends ActionsInterface {
@@ -4155,34 +4807,56 @@ declare interface ItemProps_2 extends ActionsInterface {
4155
4807
  */
4156
4808
  id?: string;
4157
4809
  /**
4158
- * An image, optionally with a tooltip, representing the content of the grid item.
4810
+ * An image or color, optionally with a tooltip, representing the content of the grid item.
4159
4811
  */
4160
4812
  content: Image.ImageLike | {
4161
- value: Image.ImageLike;
4813
+ color: Color.ColorLike;
4814
+ } | {
4815
+ value: Image.ImageLike | {
4816
+ color: Color.ColorLike;
4817
+ };
4162
4818
  tooltip: string;
4163
4819
  };
4164
4820
  /**
4165
- * The main title displayed for that item, optionally with a tooltip.
4821
+ * An optional title displayed below the content.
4166
4822
  */
4167
- title?: string | {
4168
- value: string;
4169
- tooltip: string;
4170
- };
4823
+ title?: string;
4171
4824
  /**
4172
- * An optional subtitle displayed next to the main title, optionally with a tooltip.
4825
+ * An optional subtitle displayed below the title.
4173
4826
  */
4174
- subtitle?: string | {
4175
- value: string;
4176
- tooltip: string;
4177
- };
4827
+ subtitle?: string;
4178
4828
  /**
4179
4829
  * An optional property used for providing additional indexable strings for search.
4180
4830
  * When filtering the list in Raycast through the search bar, the keywords will be searched in addition to the title.
4181
4831
  */
4182
4832
  keywords?: string[];
4833
+ /**
4834
+ * Optional information to preview files with Quick Look. Toggle the preview ith {@link Action.ToggleQuickLook}.
4835
+ *
4836
+ * @remarks
4837
+ * If no `name` is specified, the file name of the given path is used.
4838
+ */
4839
+ quickLook?: {
4840
+ name?: string | null;
4841
+ path: string;
4842
+ };
4843
+ /**
4844
+ * An {@link ActionPanel} that will be updated for the selected grid item.
4845
+ */
4183
4846
  actions?: ReactNode | null;
4184
4847
  }
4185
4848
 
4849
+ /**
4850
+ * @beta
4851
+ */
4852
+ declare interface ItemProps_3 {
4853
+ title: string;
4854
+ icon?: Image.ImageLike;
4855
+ tooltip?: string;
4856
+ onAction?: () => void;
4857
+ shortcut?: Keyboard.Shortcut;
4858
+ }
4859
+
4186
4860
  export declare namespace Keyboard {
4187
4861
  /**
4188
4862
  * A keyboard shortcut is defined by one or more modifier keys (command, control, etc.) and a single key equivalent (a character or special key).
@@ -4298,6 +4972,26 @@ declare interface LabelProps_2 {
4298
4972
  text?: string;
4299
4973
  }
4300
4974
 
4975
+ /**
4976
+ * @beta
4977
+ * The top-level props that a Command receives on launch
4978
+ */
4979
+ export declare type LaunchProps = ArgumentsLaunchProps | FormLaunchProps;
4980
+
4981
+ /**
4982
+ * @beta
4983
+ */
4984
+ export declare enum LaunchType {
4985
+ /**
4986
+ * A regular launch through user interaction
4987
+ */
4988
+ UserInitiated = "userInitiated",
4989
+ /**
4990
+ * Scheduled through an interval and launched from background
4991
+ */
4992
+ Background = "background"
4993
+ }
4994
+
4301
4995
  /**
4302
4996
  * See {@link Detail.Metadata.Link}
4303
4997
  */
@@ -4543,11 +5237,10 @@ declare interface ListMembers {
4543
5237
  * import { List } from "@raycast/api";
4544
5238
  *
4545
5239
  * function DrinkDropdown(props: DrinkDropdownProps) {
4546
- * const { isLoading = false, drinkTypes, onDrinkTypeChange } = props;
5240
+ * const { drinkTypes, onDrinkTypeChange } = props;
4547
5241
  * return (
4548
5242
  * <List.Dropdown
4549
5243
  * tooltip="Select Drink Type"
4550
- * disabled={isLoading}
4551
5244
  * storeValue={true}
4552
5245
  * onChange={(newValue) => {
4553
5246
  * onDrinkTypeChange(newValue);
@@ -4791,6 +5484,41 @@ export declare type LocalStorageValue = LocalStorage.Value;
4791
5484
  export declare interface LocalStorageValues extends LocalStorage.Values {
4792
5485
  }
4793
5486
 
5487
+ /**
5488
+ * @beta
5489
+ */
5490
+ export declare const MenuBarExtra: FunctionComponent<MenuBarExtraProps> & MenuBarExtraMembers;
5491
+
5492
+ /**
5493
+ * @beta
5494
+ */
5495
+ export declare namespace MenuBarExtra {
5496
+ export type Props = MenuBarExtraProps;
5497
+ }
5498
+
5499
+ /**
5500
+ * @beta
5501
+ */
5502
+ declare interface MenuBarExtraMembers {
5503
+ Item: typeof Item_3;
5504
+ Separator: typeof Separator_4;
5505
+ Submenu: typeof Submenu_2;
5506
+ }
5507
+
5508
+ /**
5509
+ * @beta
5510
+ */
5511
+ declare interface MenuBarExtraProps {
5512
+ /**
5513
+ * @defaultValue `false`
5514
+ */
5515
+ isLoading?: boolean;
5516
+ title?: string;
5517
+ tooltip?: string;
5518
+ icon?: Image.ImageLike;
5519
+ children?: ReactNode;
5520
+ }
5521
+
4794
5522
  /**
4795
5523
  * See {@link Detail.Metadata}
4796
5524
  */
@@ -5753,6 +6481,12 @@ declare const Separator_2: FunctionComponent<SeparatorProps_2>;
5753
6481
  */
5754
6482
  declare const Separator_3: FunctionComponent<SeparatorProps_3>;
5755
6483
 
6484
+ /**
6485
+ * @beta
6486
+ * See {@link MenuBarExtra.Separator}
6487
+ */
6488
+ declare const Separator_4: FunctionComponent<SeparatorProps_4>;
6489
+
5756
6490
  /**
5757
6491
  * See {@link Form.Separator.Props}
5758
6492
  */
@@ -5765,6 +6499,12 @@ declare interface SeparatorProps_2 {
5765
6499
  declare interface SeparatorProps_3 {
5766
6500
  }
5767
6501
 
6502
+ /**
6503
+ * @beta
6504
+ */
6505
+ declare interface SeparatorProps_4 {
6506
+ }
6507
+
5768
6508
  /**
5769
6509
  * @deprecated Use {@link LocalStorage.setItem} instead
5770
6510
  */
@@ -5926,6 +6666,12 @@ export declare const specialKeys: any;
5926
6666
  */
5927
6667
  declare const Submenu: FunctionComponent<SubmenuProps>;
5928
6668
 
6669
+ /**
6670
+ * @beta
6671
+ * See {@link MenuBarExtra.Submenu}
6672
+ */
6673
+ declare const Submenu_2: FunctionComponent<SubmenuProps_2>;
6674
+
5929
6675
  declare type SubmenuChildren = ReactElement<SectionProps> | ReactElement<SectionProps>[] | SectionChildren | null;
5930
6676
 
5931
6677
  /**
@@ -5964,6 +6710,35 @@ declare interface SubmenuProps {
5964
6710
  * Use {@link ActionPanel.Submenu} as parent when specifying sub-menu's children to make code is more readable.
5965
6711
  */
5966
6712
  children?: ReactNode;
6713
+ /**
6714
+ * Callback that is triggered when the Submenu is opened.
6715
+ *
6716
+ * This callback can be used to fetch its content lazily:
6717
+ * ```js
6718
+ * function LazySubmenu() {
6719
+ * const [content, setContent] = useState(null)
6720
+ *
6721
+ * return (
6722
+ * <ActionPanel.Submenu onOpen={() => fetchSubmenuContent().then(setContent)}>
6723
+ * {content}
6724
+ * </ActionPanel.Submenu>
6725
+ * )
6726
+ * }
6727
+ * ```
6728
+ */
6729
+ onOpen?: () => void;
6730
+ }
6731
+
6732
+ /**
6733
+ * @beta
6734
+ */
6735
+ declare interface SubmenuProps_2 {
6736
+ title: string | {
6737
+ value: string;
6738
+ tooltip: string;
6739
+ };
6740
+ icon?: Image.ImageLike;
6741
+ children?: ReactNode;
5967
6742
  }
5968
6743
 
5969
6744
  /**
@@ -6147,6 +6922,12 @@ declare interface TextAreaProps extends FormItemProps_2<string> {
6147
6922
  * Placeholder text shown in the text area.
6148
6923
  */
6149
6924
  placeholder?: string;
6925
+ /**
6926
+ * Whether markdown will be highlighted in the TextArea or not.
6927
+ * When enabled, markdown shortcuts starts to work for the TextArea (pressing `⌘ + B` will add `**bold**` around the selected text, `⌘ + I` will make the selected text italic, etc.)
6928
+ * @defaultValue `false`
6929
+ */
6930
+ enableMarkdown?: boolean;
6150
6931
  }
6151
6932
 
6152
6933
  /**
@@ -6332,6 +7113,34 @@ export declare interface ToastOptions extends Toast.Options {
6332
7113
  */
6333
7114
  export declare const ToastStyle: typeof Toast.Style;
6334
7115
 
7116
+ /**
7117
+ * See {@link Action.ToggleQuickLook}
7118
+ */
7119
+ declare const ToggleQuickLook: FunctionComponent<ToggleQuickLookProps>;
7120
+
7121
+ /**
7122
+ * See {@link Action.ToggleQuickLook.Props}
7123
+ */
7124
+ declare interface ToggleQuickLookProps {
7125
+ /**
7126
+ * The title for the action.
7127
+ * @defaultValue `"Quick Look"`
7128
+ */
7129
+ title?: string;
7130
+ /**
7131
+ * The icon displayed for the action.
7132
+ * @defaultValue {@link Icon.Eye}
7133
+ */
7134
+ icon?: Image.ImageLike;
7135
+ /**
7136
+ * The keyboard shortcut for the action.
7137
+ *
7138
+ * @remarks
7139
+ * The recommended system-wide keyboard shortcut is "⌘ + Y".
7140
+ */
7141
+ shortcut?: Keyboard.Shortcut;
7142
+ }
7143
+
6335
7144
  /**
6336
7145
  * See {@link Action.Trash}
6337
7146
  */
@@ -6401,6 +7210,29 @@ declare interface TrashProps {
6401
7210
  onTrash?: (paths: PathLike | PathLike[]) => void;
6402
7211
  }
6403
7212
 
7213
+ /**
7214
+ * @beta
7215
+ * Update the values of properties declared in the manifest of a command.
7216
+ *
7217
+ * @param metadata - An object with the values for the manifest properties to update.
7218
+ * Note that currently only `subtitle` is supported. Pass `null` to clear the custom subtitle.
7219
+ * @returns A Promise that resolves when the metadata has been updated.
7220
+ *
7221
+ * @example
7222
+ * ```typescript
7223
+ * import { open } from "@raycast/api";
7224
+ *
7225
+ * export default async () => {
7226
+ * await updateCommandMetadata({ subtitle: "My new subtitle" });
7227
+ * };
7228
+ * ```
7229
+ * @remarks The actual manifest file is not modified, so the update applies as
7230
+ * long as the command remains installed.
7231
+ */
7232
+ export declare function updateCommandMetadata(metadata: {
7233
+ subtitle?: string | null;
7234
+ }): Promise<void>;
7235
+
6404
7236
  /**
6405
7237
  * @deprecated No alternative :(
6406
7238
  */