google-apps-chat-v1 0.15.0 → 0.17.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.
@@ -22,7 +22,7 @@ module Google
22
22
  module Card
23
23
  module V1
24
24
  # A card interface displayed in a Google Chat message or Google Workspace
25
- # Add-on.
25
+ # add-on.
26
26
  #
27
27
  # Cards support a defined layout, interactive UI elements like buttons, and
28
28
  # rich media like images. Use cards to present detailed information,
@@ -35,9 +35,13 @@ module Google
35
35
  #
36
36
  # * For Google Chat apps, see [Design the components of a card or
37
37
  # dialog](https://developers.google.com/workspace/chat/design-components-card-dialog).
38
- # * For Google Workspace Add-ons, see [Card-based
38
+ # * For Google Workspace add-ons, see [Card-based
39
39
  # interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards).
40
40
  #
41
+ # Note: You can add up to 100 widgets per card. Any widgets beyond this
42
+ # limit are ignored. This limit applies to both card messages and dialogs
43
+ # in Google Chat apps, and to cards in Google Workspace add-ons.
44
+ #
41
45
  # **Example: Card message for a Google Chat app**
42
46
  #
43
47
  # ![Example contact
@@ -137,13 +141,13 @@ module Google
137
141
  # card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
138
142
  # @!attribute [rw] section_divider_style
139
143
  # @return [::Google::Apps::Card::V1::Card::DividerStyle]
140
- # The divider style between sections.
144
+ # The divider style between the header, sections and footer.
141
145
  # @!attribute [rw] card_actions
142
146
  # @return [::Array<::Google::Apps::Card::V1::Card::CardAction>]
143
147
  # The card's actions. Actions are added to the card's toolbar menu.
144
148
  #
145
149
  # [Google Workspace
146
- # Add-ons](https://developers.google.com/workspace/add-ons):
150
+ # add-ons](https://developers.google.com/workspace/add-ons):
147
151
  #
148
152
  # For example, the following JSON constructs a card action menu with
149
153
  # `Settings` and `Send Feedback` options:
@@ -180,7 +184,7 @@ module Google
180
184
  # Name of the card. Used as a card identifier in card navigation.
181
185
  #
182
186
  # [Google Workspace
183
- # Add-ons](https://developers.google.com/workspace/add-ons):
187
+ # add-ons](https://developers.google.com/workspace/add-ons):
184
188
  # @!attribute [rw] fixed_footer
185
189
  # @return [::Google::Apps::Card::V1::Card::CardFixedFooter]
186
190
  # The fixed footer shown at the bottom of this card.
@@ -192,15 +196,15 @@ module Google
192
196
  # [card
193
197
  # messages](https://developers.google.com/workspace/chat/create-messages#create).
194
198
  #
195
- # [Google Workspace Add-ons and Chat
199
+ # [Google Workspace add-ons and Chat
196
200
  # apps](https://developers.google.com/workspace/extend):
197
201
  # @!attribute [rw] display_style
198
202
  # @return [::Google::Apps::Card::V1::Card::DisplayStyle]
199
- # In Google Workspace Add-ons, sets the display properties of the
203
+ # In Google Workspace add-ons, sets the display properties of the
200
204
  # `peekCardHeader`.
201
205
  #
202
206
  # [Google Workspace
203
- # Add-ons](https://developers.google.com/workspace/add-ons):
207
+ # add-ons](https://developers.google.com/workspace/add-ons):
204
208
  # @!attribute [rw] peek_card_header
205
209
  # @return [::Google::Apps::Card::V1::Card::CardHeader]
206
210
  # When displaying contextual content, the peek card header acts as a
@@ -208,7 +212,7 @@ module Google
208
212
  # cards and the contextual cards.
209
213
  #
210
214
  # [Google Workspace
211
- # Add-ons](https://developers.google.com/workspace/add-ons):
215
+ # add-ons](https://developers.google.com/workspace/add-ons):
212
216
  class Card
213
217
  include ::Google::Protobuf::MessageExts
214
218
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -216,7 +220,7 @@ module Google
216
220
  # Represents a card header. For an example in Google Chat apps, see [Add a
217
221
  # header](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_header).
218
222
  #
219
- # [Google Workspace Add-ons and Chat
223
+ # [Google Workspace add-ons and Chat
220
224
  # apps](https://developers.google.com/workspace/extend):
221
225
  # @!attribute [rw] title
222
226
  # @return [::String]
@@ -232,7 +236,7 @@ module Google
232
236
  # @return [::Google::Apps::Card::V1::Widget::ImageType]
233
237
  # The shape used to crop the image.
234
238
  #
235
- # [Google Workspace Add-ons and Chat
239
+ # [Google Workspace add-ons and Chat
236
240
  # apps](https://developers.google.com/workspace/extend):
237
241
  # @!attribute [rw] image_url
238
242
  # @return [::String]
@@ -248,7 +252,7 @@ module Google
248
252
  # A section contains a collection of widgets that are rendered
249
253
  # vertically in the order that they're specified.
250
254
  #
251
- # [Google Workspace Add-ons and Chat
255
+ # [Google Workspace add-ons and Chat
252
256
  # apps](https://developers.google.com/workspace/extend):
253
257
  # @!attribute [rw] header
254
258
  # @return [::String]
@@ -260,7 +264,7 @@ module Google
260
264
  # and
261
265
  # [Formatting
262
266
  # text in Google Workspace
263
- # Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
267
+ # add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
264
268
  # @!attribute [rw] widgets
265
269
  # @return [::Array<::Google::Apps::Card::V1::Widget>]
266
270
  # All the widgets in the section.
@@ -285,6 +289,11 @@ module Google
285
289
  # the first two widgets are always shown and the last three are collapsed
286
290
  # by default. The `uncollapsibleWidgetsCount` is taken into account only
287
291
  # when `collapsible` is `true`.
292
+ # @!attribute [rw] collapse_control
293
+ # @return [::Google::Apps::Card::V1::CollapseControl]
294
+ # Optional. Define the expand and collapse button of the section.
295
+ # This button will be shown only if the section is collapsible.
296
+ # If this field isn't set, the default button is used.
288
297
  class Section
289
298
  include ::Google::Protobuf::MessageExts
290
299
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -295,7 +304,7 @@ module Google
295
304
  # invoice, or open the invoice in a browser.
296
305
  #
297
306
  # [Google Workspace
298
- # Add-ons](https://developers.google.com/workspace/add-ons):
307
+ # add-ons](https://developers.google.com/workspace/add-ons):
299
308
  # @!attribute [rw] action_label
300
309
  # @return [::String]
301
310
  # The label that displays as the action menu item.
@@ -307,6 +316,29 @@ module Google
307
316
  extend ::Google::Protobuf::MessageExts::ClassMethods
308
317
  end
309
318
 
319
+ # A list of widgets that can be displayed in a containing layout, such
320
+ # as a `CarouselCard`.
321
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
322
+ # @!attribute [rw] text_paragraph
323
+ # @return [::Google::Apps::Card::V1::TextParagraph]
324
+ # A text paragraph widget.
325
+ #
326
+ # Note: The following fields are mutually exclusive: `text_paragraph`, `button_list`, `image`. If a field in that set is populated, all other fields in the set will automatically be cleared.
327
+ # @!attribute [rw] button_list
328
+ # @return [::Google::Apps::Card::V1::ButtonList]
329
+ # A button list widget.
330
+ #
331
+ # Note: The following fields are mutually exclusive: `button_list`, `text_paragraph`, `image`. If a field in that set is populated, all other fields in the set will automatically be cleared.
332
+ # @!attribute [rw] image
333
+ # @return [::Google::Apps::Card::V1::Image]
334
+ # An image widget.
335
+ #
336
+ # Note: The following fields are mutually exclusive: `image`, `text_paragraph`, `button_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
337
+ class NestedWidget
338
+ include ::Google::Protobuf::MessageExts
339
+ extend ::Google::Protobuf::MessageExts::ClassMethods
340
+ end
341
+
310
342
  # A persistent (sticky) footer that that appears at the bottom of the card.
311
343
  #
312
344
  # Setting `fixedFooter` without specifying a `primaryButton` or a
@@ -319,7 +351,7 @@ module Google
319
351
  # For an example in Google Chat apps, see [Add a persistent
320
352
  # footer](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_persistent_footer).
321
353
  #
322
- # [Google Workspace Add-ons and Chat
354
+ # [Google Workspace add-ons and Chat
323
355
  # apps](https://developers.google.com/workspace/extend):
324
356
  # @!attribute [rw] primary_button
325
357
  # @return [::Google::Apps::Card::V1::Button]
@@ -338,24 +370,25 @@ module Google
338
370
  # The divider style of a card. Currently only used for dividers betweens card
339
371
  # sections.
340
372
  #
341
- # [Google Workspace Add-ons and Chat
373
+ # [Google Workspace add-ons and Chat
342
374
  # apps](https://developers.google.com/workspace/extend):
343
375
  module DividerStyle
344
376
  # Don't use. Unspecified.
345
377
  DIVIDER_STYLE_UNSPECIFIED = 0
346
378
 
347
- # Default option. Render a solid divider between sections.
379
+ # Default option. Render a solid divider.
348
380
  SOLID_DIVIDER = 1
349
381
 
350
- # If set, no divider is rendered between sections.
382
+ # If set, no divider is rendered. This style completely removes the divider
383
+ # from the layout. The result is equivalent to not adding a divider at all.
351
384
  NO_DIVIDER = 2
352
385
  end
353
386
 
354
- # In Google Workspace Add-ons,
387
+ # In Google Workspace add-ons,
355
388
  # determines how a card is displayed.
356
389
  #
357
390
  # [Google Workspace
358
- # Add-ons](https://developers.google.com/workspace/add-ons):
391
+ # add-ons](https://developers.google.com/workspace/add-ons):
359
392
  module DisplayStyle
360
393
  # Don't use. Unspecified.
361
394
  DISPLAY_STYLE_UNSPECIFIED = 0
@@ -385,7 +418,7 @@ module Google
385
418
  # and
386
419
  # [Formatting
387
420
  # text in Google Workspace
388
- # Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
421
+ # add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
389
422
  #
390
423
  # For example, the following JSON creates a bolded text:
391
424
  # ```
@@ -394,7 +427,7 @@ module Google
394
427
  # }
395
428
  # ```
396
429
  #
397
- # Note: The following fields are mutually exclusive: `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
430
+ # Note: The following fields are mutually exclusive: `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
398
431
  # @!attribute [rw] image
399
432
  # @return [::Google::Apps::Card::V1::Image]
400
433
  # Displays an image.
@@ -408,7 +441,7 @@ module Google
408
441
  # }
409
442
  # ```
410
443
  #
411
- # Note: The following fields are mutually exclusive: `image`, `text_paragraph`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
444
+ # Note: The following fields are mutually exclusive: `image`, `text_paragraph`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
412
445
  # @!attribute [rw] decorated_text
413
446
  # @return [::Google::Apps::Card::V1::DecoratedText]
414
447
  # Displays a decorated text item.
@@ -432,7 +465,7 @@ module Google
432
465
  # }
433
466
  # ```
434
467
  #
435
- # Note: The following fields are mutually exclusive: `decorated_text`, `text_paragraph`, `image`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
468
+ # Note: The following fields are mutually exclusive: `decorated_text`, `text_paragraph`, `image`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
436
469
  # @!attribute [rw] button_list
437
470
  # @return [::Google::Apps::Card::V1::ButtonList]
438
471
  # A list of buttons.
@@ -449,7 +482,6 @@ module Google
449
482
  # "red": 0,
450
483
  # "green": 0,
451
484
  # "blue": 1,
452
- # "alpha": 1
453
485
  # },
454
486
  # "disabled": true,
455
487
  # },
@@ -468,7 +500,7 @@ module Google
468
500
  # }
469
501
  # ```
470
502
  #
471
- # Note: The following fields are mutually exclusive: `button_list`, `text_paragraph`, `image`, `decorated_text`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
503
+ # Note: The following fields are mutually exclusive: `button_list`, `text_paragraph`, `image`, `decorated_text`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
472
504
  # @!attribute [rw] text_input
473
505
  # @return [::Google::Apps::Card::V1::TextInput]
474
506
  # Displays a text box that users can type into.
@@ -508,7 +540,7 @@ module Google
508
540
  # }
509
541
  # ```
510
542
  #
511
- # Note: The following fields are mutually exclusive: `text_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
543
+ # Note: The following fields are mutually exclusive: `text_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
512
544
  # @!attribute [rw] selection_input
513
545
  # @return [::Google::Apps::Card::V1::SelectionInput]
514
546
  # Displays a selection control that lets users select items. Selection
@@ -547,7 +579,7 @@ module Google
547
579
  # }
548
580
  # ```
549
581
  #
550
- # Note: The following fields are mutually exclusive: `selection_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
582
+ # Note: The following fields are mutually exclusive: `selection_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `date_time_picker`, `divider`, `grid`, `columns`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
551
583
  # @!attribute [rw] date_time_picker
552
584
  # @return [::Google::Apps::Card::V1::DateTimePicker]
553
585
  # Displays a widget that lets users input a date, time, or date and time.
@@ -561,11 +593,11 @@ module Google
561
593
  # "name": "appointment_time",
562
594
  # "label": "Book your appointment at:",
563
595
  # "type": "DATE_AND_TIME",
564
- # "valueMsEpoch": "796435200000"
596
+ # "valueMsEpoch": 796435200000
565
597
  # }
566
598
  # ```
567
599
  #
568
- # Note: The following fields are mutually exclusive: `date_time_picker`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
600
+ # Note: The following fields are mutually exclusive: `date_time_picker`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `divider`, `grid`, `columns`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
569
601
  # @!attribute [rw] divider
570
602
  # @return [::Google::Apps::Card::V1::Divider]
571
603
  # Displays a horizontal line divider between widgets.
@@ -576,7 +608,7 @@ module Google
576
608
  # }
577
609
  # ```
578
610
  #
579
- # Note: The following fields are mutually exclusive: `divider`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
611
+ # Note: The following fields are mutually exclusive: `divider`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `grid`, `columns`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
580
612
  # @!attribute [rw] grid
581
613
  # @return [::Google::Apps::Card::V1::Grid]
582
614
  # Displays a grid with a collection of items.
@@ -586,7 +618,7 @@ module Google
586
618
  # of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11
587
619
  # items and 2 columns has 6 rows.
588
620
  #
589
- # [Google Workspace Add-ons and
621
+ # [Google Workspace add-ons and
590
622
  # Chat apps](https://developers.google.com/workspace/extend):
591
623
  #
592
624
  # For example, the following JSON creates a 2 column grid with a single
@@ -623,7 +655,7 @@ module Google
623
655
  # }
624
656
  # ```
625
657
  #
626
- # Note: The following fields are mutually exclusive: `grid`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
658
+ # Note: The following fields are mutually exclusive: `grid`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `columns`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
627
659
  # @!attribute [rw] columns
628
660
  # @return [::Google::Apps::Card::V1::Columns]
629
661
  # Displays up to 2 columns.
@@ -664,7 +696,61 @@ module Google
664
696
  # }
665
697
  # ```
666
698
  #
667
- # Note: The following fields are mutually exclusive: `columns`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`. If a field in that set is populated, all other fields in the set will automatically be cleared.
699
+ # Note: The following fields are mutually exclusive: `columns`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `carousel`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
700
+ # @!attribute [rw] carousel
701
+ # @return [::Google::Apps::Card::V1::Carousel]
702
+ # A carousel contains a collection of nested widgets.
703
+ # For example, this is a JSON representation of a carousel that contains
704
+ # two text paragraphs.
705
+ #
706
+ # ```
707
+ # {
708
+ # "widgets": [
709
+ # {
710
+ # "textParagraph": {
711
+ # "text": "First text paragraph in the carousel."
712
+ # }
713
+ # },
714
+ # {
715
+ # "textParagraph": {
716
+ # "text": "Second text paragraph in the carousel."
717
+ # }
718
+ # }
719
+ # ]
720
+ # }
721
+ # ```
722
+ #
723
+ # Note: The following fields are mutually exclusive: `carousel`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
724
+ # @!attribute [rw] chip_list
725
+ # @return [::Google::Apps::Card::V1::ChipList]
726
+ # A list of chips.
727
+ #
728
+ # For example, the following JSON creates two chips. The first
729
+ # is a text chip and the second is an icon chip that opens a
730
+ # link:
731
+ # ```
732
+ # "chipList": {
733
+ # "chips": [
734
+ # {
735
+ # "text": "Edit",
736
+ # "disabled": true,
737
+ # },
738
+ # {
739
+ # "icon": {
740
+ # "knownIcon": "INVITE",
741
+ # "altText": "check calendar"
742
+ # },
743
+ # "onClick": {
744
+ # "openLink": {
745
+ # "url": "https://example.com/calendar"
746
+ # }
747
+ # }
748
+ # }
749
+ # ]
750
+ # }
751
+ # ```
752
+ #
753
+ # Note: The following fields are mutually exclusive: `chip_list`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`, `carousel`. If a field in that set is populated, all other fields in the set will automatically be cleared.
668
754
  # @!attribute [rw] horizontal_alignment
669
755
  # @return [::Google::Apps::Card::V1::Widget::HorizontalAlignment]
670
756
  # Specifies whether widgets align to the left, right, or center of a column.
@@ -674,7 +760,7 @@ module Google
674
760
 
675
761
  # The shape used to crop the image.
676
762
  #
677
- # [Google Workspace Add-ons and Chat
763
+ # [Google Workspace add-ons and Chat
678
764
  # apps](https://developers.google.com/workspace/extend):
679
765
  module ImageType
680
766
  # Default value. Applies a square mask to the image. For example, a 4x3
@@ -706,6 +792,21 @@ module Google
706
792
  # widgets to the left.
707
793
  HorizontalAlignment::END = 3
708
794
  end
795
+
796
+ # Represents vertical alignment attribute.
797
+ module VerticalAlignment
798
+ # Unspecified type. Do not use.
799
+ VERTICAL_ALIGNMENT_UNSPECIFIED = 0
800
+
801
+ # Alignment to the top position.
802
+ TOP = 1
803
+
804
+ # Alignment to the middle position.
805
+ MIDDLE = 2
806
+
807
+ # Alignment to the bottom position.
808
+ BOTTOM = 3
809
+ end
709
810
  end
710
811
 
711
812
  # A paragraph of text that supports formatting. For an example in
@@ -718,23 +819,52 @@ module Google
718
819
  # and
719
820
  # [Formatting
720
821
  # text in Google Workspace
721
- # Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
822
+ # add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
722
823
  #
723
- # [Google Workspace Add-ons and
824
+ # [Google Workspace add-ons and
724
825
  # Chat apps](https://developers.google.com/workspace/extend):
725
826
  # @!attribute [rw] text
726
827
  # @return [::String]
727
828
  # The text that's shown in the widget.
829
+ # @!attribute [rw] max_lines
830
+ # @return [::Integer]
831
+ # The maximum number of lines of text that are displayed in the widget. If
832
+ # the text exceeds the specified maximum number of lines, the excess
833
+ # content is concealed behind a **show more** button. If the text is equal or
834
+ # shorter than the specified maximum number of lines, a **show more** button
835
+ # isn't displayed.
836
+ #
837
+ # The default value is 0, in which case
838
+ # all context is displayed. Negative values are ignored.
839
+ # @!attribute [rw] text_syntax
840
+ # @return [::Google::Apps::Card::V1::TextParagraph::TextSyntax]
841
+ # The syntax of the text. If not set, the text is rendered as HTML.
842
+ #
843
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
728
844
  class TextParagraph
729
845
  include ::Google::Protobuf::MessageExts
730
846
  extend ::Google::Protobuf::MessageExts::ClassMethods
847
+
848
+ # Syntax to use for formatting text.
849
+ #
850
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
851
+ module TextSyntax
852
+ # The text is rendered as HTML if unspecified.
853
+ TEXT_SYNTAX_UNSPECIFIED = 0
854
+
855
+ # The text is rendered as HTML. This is the default value.
856
+ HTML = 1
857
+
858
+ # The text is rendered as Markdown.
859
+ MARKDOWN = 2
860
+ end
731
861
  end
732
862
 
733
863
  # An image that is specified by a URL and can have an `onClick` action. For an
734
864
  # example, see [Add an
735
865
  # image](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_image).
736
866
  #
737
- # [Google Workspace Add-ons and Chat
867
+ # [Google Workspace add-ons and Chat
738
868
  # apps](https://developers.google.com/workspace/extend):
739
869
  # @!attribute [rw] image_url
740
870
  # @return [::String]
@@ -761,7 +891,7 @@ module Google
761
891
  # [Add a horizontal divider between
762
892
  # widgets](https://developers.google.com/workspace/chat/format-structure-card-dialog#add_a_horizontal_divider_between_widgets).
763
893
  #
764
- # [Google Workspace Add-ons and Chat
894
+ # [Google Workspace add-ons and Chat
765
895
  # apps](https://developers.google.com/workspace/extend):
766
896
  #
767
897
  # For example, the following JSON creates a divider:
@@ -780,7 +910,7 @@ module Google
780
910
  # Google Chat apps, see [Display text with decorative
781
911
  # text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements).
782
912
  #
783
- # [Google Workspace Add-ons and Chat
913
+ # [Google Workspace add-ons and Chat
784
914
  # apps](https://developers.google.com/workspace/extend):
785
915
  # @!attribute [rw] icon
786
916
  # @deprecated This field is deprecated and may be removed in the next major version update.
@@ -789,9 +919,21 @@ module Google
789
919
  # @!attribute [rw] start_icon
790
920
  # @return [::Google::Apps::Card::V1::Icon]
791
921
  # The icon displayed in front of the text.
922
+ # @!attribute [rw] start_icon_vertical_alignment
923
+ # @return [::Google::Apps::Card::V1::Widget::VerticalAlignment]
924
+ # Optional. Vertical alignment of the start icon. If not set, the icon
925
+ # will be vertically centered.
926
+ #
927
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
792
928
  # @!attribute [rw] top_label
793
929
  # @return [::String]
794
930
  # The text that appears above `text`. Always truncates.
931
+ # @!attribute [rw] top_label_text
932
+ # @return [::Google::Apps::Card::V1::TextParagraph]
933
+ # `TextParagraph` equivalent of `top_label`. Always truncates. Allows for
934
+ # more complex formatting than `top_label`.
935
+ #
936
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
795
937
  # @!attribute [rw] text
796
938
  # @return [::String]
797
939
  # Required. The primary text.
@@ -803,7 +945,13 @@ module Google
803
945
  # and
804
946
  # [Formatting
805
947
  # text in Google Workspace
806
- # Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
948
+ # add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
949
+ # @!attribute [rw] content_text
950
+ # @return [::Google::Apps::Card::V1::TextParagraph]
951
+ # `TextParagraph` equivalent of `text`. Allows for more complex formatting
952
+ # than `text`.
953
+ #
954
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
807
955
  # @!attribute [rw] wrap_text
808
956
  # @return [::Boolean]
809
957
  # The wrap text setting. If `true`, the text wraps and displays on
@@ -813,6 +961,12 @@ module Google
813
961
  # @!attribute [rw] bottom_label
814
962
  # @return [::String]
815
963
  # The text that appears below `text`. Always wraps.
964
+ # @!attribute [rw] bottom_label_text
965
+ # @return [::Google::Apps::Card::V1::TextParagraph]
966
+ # `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for
967
+ # more complex formatting than `bottom_label`.
968
+ #
969
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
816
970
  # @!attribute [rw] on_click
817
971
  # @return [::Google::Apps::Card::V1::OnClick]
818
972
  # This action is triggered when users click `topLabel` or `bottomLabel`.
@@ -844,7 +998,7 @@ module Google
844
998
 
845
999
  # Either a toggle-style switch or a checkbox inside a `decoratedText` widget.
846
1000
  #
847
- # [Google Workspace Add-ons and Chat
1001
+ # [Google Workspace add-ons and Chat
848
1002
  # apps](https://developers.google.com/workspace/extend):
849
1003
  #
850
1004
  # Only supported in the `decoratedText` widget.
@@ -871,7 +1025,7 @@ module Google
871
1025
  # @return [::Google::Apps::Card::V1::DecoratedText::SwitchControl::ControlType]
872
1026
  # How the switch appears in the user interface.
873
1027
  #
874
- # [Google Workspace Add-ons
1028
+ # [Google Workspace add-ons
875
1029
  # and Chat apps](https://developers.google.com/workspace/extend):
876
1030
  class SwitchControl
877
1031
  include ::Google::Protobuf::MessageExts
@@ -879,7 +1033,7 @@ module Google
879
1033
 
880
1034
  # How the switch appears in the user interface.
881
1035
  #
882
- # [Google Workspace Add-ons
1036
+ # [Google Workspace add-ons
883
1037
  # and Chat apps](https://developers.google.com/workspace/extend):
884
1038
  module ControlType
885
1039
  # A toggle-style switch.
@@ -895,8 +1049,11 @@ module Google
895
1049
  end
896
1050
 
897
1051
  # A field in which users can enter text. Supports suggestions and on-change
898
- # actions. For an example in Google Chat apps, see [Add a field in which a user
899
- # can enter
1052
+ # actions.
1053
+ # Supports form submission validation. When `Action.all_widgets_are_required`
1054
+ # is set to `true` or this widget is specified in `Action.required_widgets`,
1055
+ # the submission action is blocked unless a value is entered. For an example in
1056
+ # Google Chat apps, see [Add a field in which a user can enter
900
1057
  # text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text).
901
1058
  #
902
1059
  # Chat apps receive and can process the value of entered text during form input
@@ -907,7 +1064,7 @@ module Google
907
1064
  # use a text input. To collect defined or enumerated data from users, use the
908
1065
  # {::Google::Apps::Card::V1::SelectionInput SelectionInput} widget.
909
1066
  #
910
- # [Google Workspace Add-ons and Chat
1067
+ # [Google Workspace add-ons and Chat
911
1068
  # apps](https://developers.google.com/workspace/extend):
912
1069
  # @!attribute [rw] name
913
1070
  # @return [::String]
@@ -967,7 +1124,7 @@ module Google
967
1124
  # to `MULTIPLE_LINE`.
968
1125
  #
969
1126
  # [Google Workspace
970
- # Add-ons and Chat apps](https://developers.google.com/workspace/extend):
1127
+ # add-ons and Chat apps](https://developers.google.com/workspace/extend):
971
1128
  # @!attribute [rw] auto_complete_action
972
1129
  # @return [::Google::Apps::Card::V1::Action]
973
1130
  # Optional. Specify what action to take when the text input field provides
@@ -980,7 +1137,13 @@ module Google
980
1137
  # a custom function.
981
1138
  #
982
1139
  # [Google Workspace
983
- # Add-ons](https://developers.google.com/workspace/add-ons):
1140
+ # add-ons](https://developers.google.com/workspace/add-ons):
1141
+ # @!attribute [rw] validation
1142
+ # @return [::Google::Apps::Card::V1::Validation]
1143
+ # Specify the input format validation necessary for this text field.
1144
+ #
1145
+ # [Google Workspace add-ons and Chat
1146
+ # apps](https://developers.google.com/workspace/extend):
984
1147
  # @!attribute [rw] placeholder_text
985
1148
  # @return [::String]
986
1149
  # Text that appears in the text input field when the field is empty.
@@ -997,7 +1160,7 @@ module Google
997
1160
  # `initialSuggestions` is specified, `type` is always `SINGLE_LINE`,
998
1161
  # even if it's set to `MULTIPLE_LINE`.
999
1162
  #
1000
- # [Google Workspace Add-ons and Chat
1163
+ # [Google Workspace add-ons and Chat
1001
1164
  # apps](https://developers.google.com/workspace/extend):
1002
1165
  module Type
1003
1166
  # The text input field has a fixed height of one line.
@@ -1025,7 +1188,7 @@ module Google
1025
1188
  # to `MULTIPLE_LINE`.
1026
1189
  #
1027
1190
  # [Google Workspace
1028
- # Add-ons and Chat apps](https://developers.google.com/workspace/extend):
1191
+ # add-ons and Chat apps](https://developers.google.com/workspace/extend):
1029
1192
  # @!attribute [rw] items
1030
1193
  # @return [::Array<::Google::Apps::Card::V1::Suggestions::SuggestionItem>]
1031
1194
  # A list of suggestions used for autocomplete recommendations in text input
@@ -1036,7 +1199,7 @@ module Google
1036
1199
 
1037
1200
  # One suggested value that users can enter in a text input field.
1038
1201
  #
1039
- # [Google Workspace Add-ons and Chat
1202
+ # [Google Workspace add-ons and Chat
1040
1203
  # apps](https://developers.google.com/workspace/extend):
1041
1204
  # @!attribute [rw] text
1042
1205
  # @return [::String]
@@ -1053,7 +1216,7 @@ module Google
1053
1216
  # [Add a
1054
1217
  # button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button).
1055
1218
  #
1056
- # [Google Workspace Add-ons and Chat
1219
+ # [Google Workspace add-ons and Chat
1057
1220
  # apps](https://developers.google.com/workspace/extend):
1058
1221
  # @!attribute [rw] buttons
1059
1222
  # @return [::Array<::Google::Apps::Card::V1::Button>]
@@ -1064,9 +1227,12 @@ module Google
1064
1227
  end
1065
1228
 
1066
1229
  # A widget that creates one or more UI items that users can select.
1067
- # For example, a dropdown menu or checkboxes. You can use this widget to
1068
- # collect data that can be predicted or enumerated. For an example in Google
1069
- # Chat apps, see [Add selectable UI
1230
+ # Supports form submission validation for `dropdown` and `multiselect` menus
1231
+ # only. When `Action.all_widgets_are_required` is set to `true` or this widget
1232
+ # is specified in `Action.required_widgets`, the submission action is blocked
1233
+ # unless a value is selected. For example, a dropdown menu or checkboxes. You
1234
+ # can use this widget to collect data that can be predicted or enumerated. For
1235
+ # an example in Google Chat apps, see [Add selectable UI
1070
1236
  # elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements).
1071
1237
  #
1072
1238
  # Chat apps can process the value of items that users select or input. For
@@ -1076,11 +1242,12 @@ module Google
1076
1242
  # To collect undefined or abstract data from users, use
1077
1243
  # the {::Google::Apps::Card::V1::TextInput TextInput} widget.
1078
1244
  #
1079
- # [Google Workspace Add-ons
1245
+ # [Google Workspace add-ons
1080
1246
  # and Chat apps](https://developers.google.com/workspace/extend):
1081
1247
  # @!attribute [rw] name
1082
1248
  # @return [::String]
1083
- # The name that identifies the selection input in a form input event.
1249
+ # Required. The name that identifies the selection input in a form input
1250
+ # event.
1084
1251
  #
1085
1252
  # For details about working with form inputs, see [Receive form
1086
1253
  # data](https://developers.google.com/workspace/chat/read-form-data).
@@ -1116,14 +1283,18 @@ module Google
1116
1283
  # @!attribute [rw] multi_select_min_query_length
1117
1284
  # @return [::Integer]
1118
1285
  # For multiselect menus, the number of text characters that a user inputs
1119
- # before the app queries autocomplete and displays suggested items
1120
- # in the menu.
1286
+ # before the menu returns suggested selection items.
1287
+ #
1288
+ # If unset, the multiselect menu uses the following default values:
1121
1289
  #
1122
- # If unspecified, defaults to 0 characters for static data sources and 3
1123
- # characters for external data sources.
1290
+ # * If the menu uses a static array of `SelectionInput` items, defaults to
1291
+ # 0 characters and immediately populates items from the array.
1292
+ # * If the menu uses a dynamic data source (`multi_select_data_source`),
1293
+ # defaults to 3 characters before querying the data source to return
1294
+ # suggested items.
1124
1295
  # @!attribute [rw] external_data_source
1125
1296
  # @return [::Google::Apps::Card::V1::Action]
1126
- # An external data source, such as a relational data base.
1297
+ # An external data source, such as a relational database.
1127
1298
  #
1128
1299
  # Note: The following fields are mutually exclusive: `external_data_source`, `platform_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1129
1300
  # @!attribute [rw] platform_data_source
@@ -1136,9 +1307,9 @@ module Google
1136
1307
  extend ::Google::Protobuf::MessageExts::ClassMethods
1137
1308
 
1138
1309
  # An item that users can select in a selection input, such as a checkbox
1139
- # or switch.
1310
+ # or switch. Supports up to 100 items.
1140
1311
  #
1141
- # [Google Workspace Add-ons and Chat
1312
+ # [Google Workspace add-ons and Chat
1142
1313
  # apps](https://developers.google.com/workspace/extend):
1143
1314
  # @!attribute [rw] text
1144
1315
  # @return [::String]
@@ -1157,10 +1328,6 @@ module Google
1157
1328
  # set this field for one item.
1158
1329
  # @!attribute [rw] start_icon_uri
1159
1330
  # @return [::String]
1160
- # For multiselect menus, the URL for the icon displayed next to
1161
- # the item's `text` field. Supports PNG and JPEG files. Must be an `HTTPS`
1162
- # URL. For example,
1163
- # `https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png`.
1164
1331
  # @!attribute [rw] bottom_text
1165
1332
  # @return [::String]
1166
1333
  # For multiselect menus, a text description or label that's
@@ -1206,7 +1373,7 @@ module Google
1206
1373
  # Each selection input supports one type of selection. Mixing checkboxes
1207
1374
  # and switches, for example, isn't supported.
1208
1375
  #
1209
- # [Google Workspace Add-ons and Chat
1376
+ # [Google Workspace add-ons and Chat
1210
1377
  # apps](https://developers.google.com/workspace/extend):
1211
1378
  module SelectionType
1212
1379
  # A set of checkboxes. Users can select one or more checkboxes.
@@ -1221,35 +1388,36 @@ module Google
1221
1388
  # A dropdown menu. Users can select one item from the menu.
1222
1389
  DROPDOWN = 3
1223
1390
 
1224
- # A multiselect menu for static or dynamic data. From the menu bar,
1225
- # users select one or more items. Users can also input values to populate
1226
- # dynamic data. For example, users can start typing the name of a Google
1227
- # Chat space and the widget autosuggests the space.
1391
+ # A menu with a text box. Users can type and select one or more items.
1392
+ # For Google Workspace add-ons, you must populate items using a static
1393
+ # array of `SelectionItem` objects.
1228
1394
  #
1229
- # To populate items for a multiselect menu, you can use one of the
1230
- # following types of data sources:
1395
+ # For Google Chat apps, you can also populate items using a dynamic data
1396
+ # source and autosuggest items as users type in the menu. For example,
1397
+ # users can start typing the name of a Google Chat space and the widget
1398
+ # autosuggests the space. To dynamically populate items for a multiselect
1399
+ # menu, use one of the following types of data sources:
1231
1400
  #
1232
- # * Static data: Items are specified as `SelectionItem` objects in the
1233
- # widget. Up to 100 items.
1234
1401
  # * Google Workspace data: Items are populated using data from Google
1235
1402
  # Workspace, such as Google Workspace users or Google Chat spaces.
1236
1403
  # * External data: Items are populated from an external data
1237
1404
  # source outside of Google Workspace.
1238
1405
  #
1239
- # For examples of how to implement multiselect menus, see
1406
+ # For examples of how to implement multiselect menus for Chat apps, see
1240
1407
  # [Add a multiselect
1241
1408
  # menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#multiselect-menu).
1242
1409
  #
1243
- # [Google Workspace Add-ons and Chat
1410
+ # [Google Workspace add-ons and Chat
1244
1411
  # apps](https://developers.google.com/workspace/extend):
1245
- # Multiselect for Google Workspace Add-ons are in
1246
- # Developer Preview.
1247
1412
  MULTI_SELECT = 4
1248
1413
  end
1249
1414
  end
1250
1415
 
1251
- # Lets users input a date, a time, or both a date and a time. For an example in
1252
- # Google Chat apps, see [Let a user pick a date and
1416
+ # Lets users input a date, a time, or both a date and a time.
1417
+ # Supports form submission validation. When `Action.all_widgets_are_required`
1418
+ # is set to `true` or this widget is specified in `Action.required_widgets`,
1419
+ # the submission action is blocked unless a value is selected. For an example
1420
+ # in Google Chat apps, see [Let a user pick a date and
1253
1421
  # time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time).
1254
1422
  #
1255
1423
  # Users can input text or use the picker to select dates and times. If users
@@ -1257,7 +1425,7 @@ module Google
1257
1425
  # to input the information correctly.
1258
1426
  #
1259
1427
  # [Google Workspace
1260
- # Add-ons and Chat apps](https://developers.google.com/workspace/extend):
1428
+ # add-ons and Chat apps](https://developers.google.com/workspace/extend):
1261
1429
  # @!attribute [rw] name
1262
1430
  # @return [::String]
1263
1431
  # The name by which the `DateTimePicker` is identified in a form input event.
@@ -1274,8 +1442,8 @@ module Google
1274
1442
  # Whether the widget supports inputting a date, a time, or the date and time.
1275
1443
  # @!attribute [rw] value_ms_epoch
1276
1444
  # @return [::Integer]
1277
- # The default value displayed in the widget, in milliseconds since [Unix
1278
- # epoch time](https://en.wikipedia.org/wiki/Unix_time).
1445
+ # Optional. The default value displayed in the widget, in milliseconds since
1446
+ # [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
1279
1447
  #
1280
1448
  # Specify the value based on the type of picker (`DateTimePickerType`):
1281
1449
  #
@@ -1301,7 +1469,7 @@ module Google
1301
1469
  # The format for the date and time in the `DateTimePicker` widget.
1302
1470
  # Determines whether users can input a date, a time, or both a date and time.
1303
1471
  #
1304
- # [Google Workspace Add-ons and Chat
1472
+ # [Google Workspace add-ons and Chat
1305
1473
  # apps](https://developers.google.com/workspace/extend):
1306
1474
  module DateTimePickerType
1307
1475
  # Users input a date and time.
@@ -1315,6 +1483,46 @@ module Google
1315
1483
  end
1316
1484
  end
1317
1485
 
1486
+ # A widget that presents a pop-up menu with one or more actions that users can
1487
+ # invoke. For example, showing non-primary actions in a card. You can use this
1488
+ # widget when actions don't fit in the available space. To use, specify this
1489
+ # widget in the `OnClick` action of widgets that support it. For example, in a
1490
+ # `Button`.
1491
+ #
1492
+ # [Google Workspace add-ons and Chat
1493
+ # apps](https://developers.google.com/workspace/extend):
1494
+ # @!attribute [rw] items
1495
+ # @return [::Array<::Google::Apps::Card::V1::OverflowMenu::OverflowMenuItem>]
1496
+ # Required. The list of menu options.
1497
+ class OverflowMenu
1498
+ include ::Google::Protobuf::MessageExts
1499
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1500
+
1501
+ # An option that users can invoke in an overflow menu.
1502
+ #
1503
+ # [Google Workspace add-ons and Chat
1504
+ # apps](https://developers.google.com/workspace/extend):
1505
+ # @!attribute [rw] start_icon
1506
+ # @return [::Google::Apps::Card::V1::Icon]
1507
+ # The icon displayed in front of the text.
1508
+ # @!attribute [rw] text
1509
+ # @return [::String]
1510
+ # Required. The text that identifies or describes the item to users.
1511
+ # @!attribute [rw] on_click
1512
+ # @return [::Google::Apps::Card::V1::OnClick]
1513
+ # Required. The action invoked when a menu option is selected.
1514
+ # This `OnClick` cannot contain an `OverflowMenu`, any specified
1515
+ # `OverflowMenu` is dropped and the menu item disabled.
1516
+ # @!attribute [rw] disabled
1517
+ # @return [::Boolean]
1518
+ # Whether the menu option is disabled.
1519
+ # Defaults to false.
1520
+ class OverflowMenuItem
1521
+ include ::Google::Protobuf::MessageExts
1522
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1523
+ end
1524
+ end
1525
+
1318
1526
  # A text, icon, or text and icon button that users can click. For an example in
1319
1527
  # Google Chat apps, see
1320
1528
  # [Add a
@@ -1326,48 +1534,39 @@ module Google
1326
1534
  # `onClick` action.
1327
1535
  #
1328
1536
  # [Google Workspace
1329
- # Add-ons and Chat apps](https://developers.google.com/workspace/extend):
1537
+ # add-ons and Chat apps](https://developers.google.com/workspace/extend):
1330
1538
  # @!attribute [rw] text
1331
1539
  # @return [::String]
1332
1540
  # The text displayed inside the button.
1333
1541
  # @!attribute [rw] icon
1334
1542
  # @return [::Google::Apps::Card::V1::Icon]
1335
- # The icon image. If both `icon` and `text` are set, then the icon appears
1336
- # before the text.
1543
+ # An icon displayed inside the button. If both `icon` and `text` are set,
1544
+ # then the icon appears before the text.
1337
1545
  # @!attribute [rw] color
1338
1546
  # @return [::Google::Type::Color]
1339
- # If set, the button is filled with a solid background color and the font
1340
- # color changes to maintain contrast with the background color. For example,
1341
- # setting a blue background likely results in white text.
1342
- #
1343
- # If unset, the image background is white and the font color is blue.
1344
- #
1345
- # For red, green, and blue, the value of each field is a `float` number that
1346
- # you can express in either of two ways: as a number between 0 and 255
1347
- # divided by 255 (153/255), or as a value between 0 and 1 (0.6). 0 represents
1348
- # the absence of a color and 1 or 255/255 represent the full presence of that
1349
- # color on the RGB scale.
1547
+ # Optional. The color of the button. If set, the button `type` is set to
1548
+ # `FILLED` and the color of `text` and `icon` fields are set to a
1549
+ # contrasting color for readability. For example, if the button color is
1550
+ # set to blue, any text or icons in the button are set to white.
1350
1551
  #
1351
- # Optionally set `alpha`, which sets a level of transparency using this
1352
- # equation:
1353
- #
1354
- # ```
1355
- # pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
1356
- # ```
1357
- #
1358
- # For `alpha`, a value of `1` corresponds with a solid color, and a value of
1359
- # `0` corresponds with a completely transparent color.
1552
+ # To set the button color, specify a value for the `red`, `green`, and `blue`
1553
+ # fields.
1554
+ # The value must be a float number between 0 and 1 based on the RGB color
1555
+ # value, where `0` (0/255) represents the absence of color and `1` (255/255)
1556
+ # represents the maximum intensity of the color.
1360
1557
  #
1361
- # For example, the following color represents a half transparent red:
1558
+ # For example, the following sets the color to red at its maximum intensity:
1362
1559
  #
1363
1560
  # ```
1364
1561
  # "color": {
1365
1562
  # "red": 1,
1366
1563
  # "green": 0,
1367
1564
  # "blue": 0,
1368
- # "alpha": 0.5
1369
1565
  # }
1370
1566
  # ```
1567
+ #
1568
+ # The `alpha` field is unavailable for button color. If specified, this field
1569
+ # is ignored.
1371
1570
  # @!attribute [rw] on_click
1372
1571
  # @return [::Google::Apps::Card::V1::OnClick]
1373
1572
  # Required. The action to perform when a user clicks the button, such as
@@ -1384,9 +1583,44 @@ module Google
1384
1583
  # example, if a button opens a hyperlink, you might write: "Opens a new
1385
1584
  # browser tab and navigates to the Google Chat developer documentation at
1386
1585
  # https://developers.google.com/workspace/chat".
1586
+ # @!attribute [rw] type
1587
+ # @return [::Google::Apps::Card::V1::Button::Type]
1588
+ # Optional. The type of a button. If unset, button type defaults to
1589
+ # `OUTLINED`. If the `color` field is set, the button type is forced to
1590
+ # `FILLED` and any value set for this field is ignored.
1387
1591
  class Button
1388
1592
  include ::Google::Protobuf::MessageExts
1389
1593
  extend ::Google::Protobuf::MessageExts::ClassMethods
1594
+
1595
+ # Optional. The
1596
+ # [type](https://m3.material.io/components/all-buttons#9134ac95-678e-49ae-a50a-e71948011b05)
1597
+ # of a button. If `color` field is set, the `type` is forced to `FILLED`.
1598
+ #
1599
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
1600
+ module Type
1601
+ # Don't use. Unspecified.
1602
+ TYPE_UNSPECIFIED = 0
1603
+
1604
+ # Outlined buttons are medium-emphasis buttons. They usually contain
1605
+ # actions that are important, but aren’t the primary action in a Chat app
1606
+ # or an add-on.
1607
+ OUTLINED = 1
1608
+
1609
+ # A filled button has a container with a solid color. It has the most
1610
+ # visual impact and is recommended for the important and primary action in
1611
+ # a Chat app or an add-on.
1612
+ FILLED = 2
1613
+
1614
+ # A filled tonal button is an alternative middle ground between filled and
1615
+ # outlined buttons. They’re useful in contexts where a lower-priority
1616
+ # button requires slightly more emphasis than an outline button would give.
1617
+ FILLED_TONAL = 3
1618
+
1619
+ # A button does not have an invisible container in its default state. It is
1620
+ # often used for the lowest priority actions, especially when presenting
1621
+ # multiple options.
1622
+ BORDERLESS = 4
1623
+ end
1390
1624
  end
1391
1625
 
1392
1626
  # An icon displayed in a widget on a card. For an example in Google Chat apps,
@@ -1399,7 +1633,7 @@ module Google
1399
1633
  # [custom](https://developers.google.com/workspace/chat/format-messages#customicons)
1400
1634
  # icons.
1401
1635
  #
1402
- # [Google Workspace Add-ons and Chat
1636
+ # [Google Workspace add-ons and Chat
1403
1637
  # apps](https://developers.google.com/workspace/extend):
1404
1638
  # @!attribute [rw] known_icon
1405
1639
  # @return [::String]
@@ -1521,7 +1755,7 @@ module Google
1521
1755
 
1522
1756
  # Represents the crop style applied to an image.
1523
1757
  #
1524
- # [Google Workspace Add-ons and
1758
+ # [Google Workspace add-ons and
1525
1759
  # Chat apps](https://developers.google.com/workspace/extend):
1526
1760
  #
1527
1761
  # For example, here's how to apply a 16:9 aspect ratio:
@@ -1553,7 +1787,7 @@ module Google
1553
1787
 
1554
1788
  # Represents the crop style applied to an image.
1555
1789
  #
1556
- # [Google Workspace Add-ons
1790
+ # [Google Workspace add-ons
1557
1791
  # and Chat apps](https://developers.google.com/workspace/extend):
1558
1792
  module ImageCropType
1559
1793
  # Don't use. Unspecified.
@@ -1577,7 +1811,7 @@ module Google
1577
1811
  # The style options for the border of a card or widget, including the border
1578
1812
  # type and color.
1579
1813
  #
1580
- # [Google Workspace Add-ons and Chat
1814
+ # [Google Workspace add-ons and Chat
1581
1815
  # apps](https://developers.google.com/workspace/extend):
1582
1816
  # @!attribute [rw] type
1583
1817
  # @return [::Google::Apps::Card::V1::BorderStyle::BorderType]
@@ -1585,6 +1819,25 @@ module Google
1585
1819
  # @!attribute [rw] stroke_color
1586
1820
  # @return [::Google::Type::Color]
1587
1821
  # The colors to use when the type is `BORDER_TYPE_STROKE`.
1822
+ #
1823
+ # To set the stroke color, specify a value for the `red`, `green`, and `blue`
1824
+ # fields.
1825
+ # The value must be a float number between 0 and 1 based on the RGB color
1826
+ # value, where `0` (0/255) represents the absence of color and `1` (255/255)
1827
+ # represents the maximum intensity of the color.
1828
+ #
1829
+ # For example, the following sets the color to red at its maximum intensity:
1830
+ #
1831
+ # ```
1832
+ # "color": {
1833
+ # "red": 1,
1834
+ # "green": 0,
1835
+ # "blue": 0,
1836
+ # }
1837
+ # ```
1838
+ #
1839
+ # The `alpha` field is unavailable for stroke color. If specified, this field
1840
+ # is ignored.
1588
1841
  # @!attribute [rw] corner_radius
1589
1842
  # @return [::Integer]
1590
1843
  # The corner radius for the border.
@@ -1594,23 +1847,23 @@ module Google
1594
1847
 
1595
1848
  # Represents the border types applied to widgets.
1596
1849
  #
1597
- # [Google Workspace Add-ons
1850
+ # [Google Workspace add-ons
1598
1851
  # and Chat apps](https://developers.google.com/workspace/extend):
1599
1852
  module BorderType
1600
1853
  # Don't use. Unspecified.
1601
1854
  BORDER_TYPE_UNSPECIFIED = 0
1602
1855
 
1603
- # Default value. No border.
1856
+ # No border.
1604
1857
  NO_BORDER = 1
1605
1858
 
1606
- # Outline.
1859
+ # Default value. Outline.
1607
1860
  STROKE = 2
1608
1861
  end
1609
1862
  end
1610
1863
 
1611
1864
  # Represents an image.
1612
1865
  #
1613
- # [Google Workspace Add-ons and Chat
1866
+ # [Google Workspace add-ons and Chat
1614
1867
  # apps](https://developers.google.com/workspace/extend):
1615
1868
  # @!attribute [rw] image_uri
1616
1869
  # @return [::String]
@@ -1640,7 +1893,7 @@ module Google
1640
1893
  # 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns
1641
1894
  # has 6 rows.
1642
1895
  #
1643
- # [Google Workspace Add-ons and Chat
1896
+ # [Google Workspace add-ons and Chat
1644
1897
  # apps](https://developers.google.com/workspace/extend):
1645
1898
  #
1646
1899
  # For example, the following JSON creates a 2 column grid with a single
@@ -1702,7 +1955,7 @@ module Google
1702
1955
  # Represents an item in a grid layout. Items can contain text, an image, or
1703
1956
  # both text and an image.
1704
1957
  #
1705
- # [Google Workspace Add-ons and Chat
1958
+ # [Google Workspace add-ons and Chat
1706
1959
  # apps](https://developers.google.com/workspace/extend):
1707
1960
  # @!attribute [rw] id
1708
1961
  # @return [::String]
@@ -1726,7 +1979,7 @@ module Google
1726
1979
 
1727
1980
  # Represents the various layout options available for a grid item.
1728
1981
  #
1729
- # [Google Workspace Add-ons and Chat
1982
+ # [Google Workspace add-ons and Chat
1730
1983
  # apps](https://developers.google.com/workspace/extend):
1731
1984
  module GridItemLayout
1732
1985
  # Don't use. Unspecified.
@@ -1764,13 +2017,16 @@ module Google
1764
2017
  # * On Android devices, the second column wraps if the screen width is
1765
2018
  # less than or equal to 320 dp.
1766
2019
  #
1767
- # To include more than 2 columns, or to use rows, use the
2020
+ # To include more than two columns, or to use rows, use the
1768
2021
  # {::Google::Apps::Card::V1::Grid `Grid`} widget.
1769
2022
  #
1770
- # [Google Workspace Add-ons and Chat
2023
+ # [Google Workspace add-ons and Chat
1771
2024
  # apps](https://developers.google.com/workspace/extend):
1772
- # Columns for Google Workspace Add-ons are in
1773
- # Developer Preview.
2025
+ # The add-on UIs that support columns include:
2026
+ #
2027
+ # * The dialog displayed when users open the add-on from an email draft.
2028
+ # * The dialog displayed when users open the add-on from the
2029
+ # **Add attachment** menu in a Google Calendar event.
1774
2030
  # @!attribute [rw] column_items
1775
2031
  # @return [::Array<::Google::Apps::Card::V1::Columns::Column>]
1776
2032
  # An array of columns. You can include up to 2 columns in a card or dialog.
@@ -1780,10 +2036,8 @@ module Google
1780
2036
 
1781
2037
  # A column.
1782
2038
  #
1783
- # [Google Workspace Add-ons and Chat
1784
- # apps](https://developers.google.com/workspace/extend):
1785
- # Columns for Google Workspace Add-ons are in
1786
- # Developer Preview.
2039
+ # [Google Workspace add-ons and Chat
2040
+ # apps](https://developers.google.com/workspace/extend)
1787
2041
  # @!attribute [rw] horizontal_size_style
1788
2042
  # @return [::Google::Apps::Card::V1::Columns::Column::HorizontalSizeStyle]
1789
2043
  # Specifies how a column fills the width of the card.
@@ -1805,45 +2059,48 @@ module Google
1805
2059
 
1806
2060
  # The supported widgets that you can include in a column.
1807
2061
  #
1808
- # [Google Workspace Add-ons and Chat
1809
- # apps](https://developers.google.com/workspace/extend):
1810
- # Columns for Google Workspace Add-ons are in
1811
- # Developer Preview.
2062
+ # [Google Workspace add-ons and Chat
2063
+ # apps](https://developers.google.com/workspace/extend)
1812
2064
  # @!attribute [rw] text_paragraph
1813
2065
  # @return [::Google::Apps::Card::V1::TextParagraph]
1814
2066
  # {::Google::Apps::Card::V1::TextParagraph TextParagraph} widget.
1815
2067
  #
1816
- # Note: The following fields are mutually exclusive: `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2068
+ # Note: The following fields are mutually exclusive: `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1817
2069
  # @!attribute [rw] image
1818
2070
  # @return [::Google::Apps::Card::V1::Image]
1819
2071
  # {::Google::Apps::Card::V1::Image Image} widget.
1820
2072
  #
1821
- # Note: The following fields are mutually exclusive: `image`, `text_paragraph`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2073
+ # Note: The following fields are mutually exclusive: `image`, `text_paragraph`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1822
2074
  # @!attribute [rw] decorated_text
1823
2075
  # @return [::Google::Apps::Card::V1::DecoratedText]
1824
2076
  # {::Google::Apps::Card::V1::DecoratedText DecoratedText} widget.
1825
2077
  #
1826
- # Note: The following fields are mutually exclusive: `decorated_text`, `text_paragraph`, `image`, `button_list`, `text_input`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2078
+ # Note: The following fields are mutually exclusive: `decorated_text`, `text_paragraph`, `image`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1827
2079
  # @!attribute [rw] button_list
1828
2080
  # @return [::Google::Apps::Card::V1::ButtonList]
1829
2081
  # {::Google::Apps::Card::V1::ButtonList ButtonList} widget.
1830
2082
  #
1831
- # Note: The following fields are mutually exclusive: `button_list`, `text_paragraph`, `image`, `decorated_text`, `text_input`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2083
+ # Note: The following fields are mutually exclusive: `button_list`, `text_paragraph`, `image`, `decorated_text`, `text_input`, `selection_input`, `date_time_picker`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1832
2084
  # @!attribute [rw] text_input
1833
2085
  # @return [::Google::Apps::Card::V1::TextInput]
1834
2086
  # {::Google::Apps::Card::V1::TextInput TextInput} widget.
1835
2087
  #
1836
- # Note: The following fields are mutually exclusive: `text_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2088
+ # Note: The following fields are mutually exclusive: `text_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `selection_input`, `date_time_picker`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1837
2089
  # @!attribute [rw] selection_input
1838
2090
  # @return [::Google::Apps::Card::V1::SelectionInput]
1839
2091
  # {::Google::Apps::Card::V1::SelectionInput SelectionInput} widget.
1840
2092
  #
1841
- # Note: The following fields are mutually exclusive: `selection_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2093
+ # Note: The following fields are mutually exclusive: `selection_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `date_time_picker`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1842
2094
  # @!attribute [rw] date_time_picker
1843
2095
  # @return [::Google::Apps::Card::V1::DateTimePicker]
1844
2096
  # {::Google::Apps::Card::V1::DateTimePicker DateTimePicker} widget.
1845
2097
  #
1846
- # Note: The following fields are mutually exclusive: `date_time_picker`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2098
+ # Note: The following fields are mutually exclusive: `date_time_picker`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `chip_list`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2099
+ # @!attribute [rw] chip_list
2100
+ # @return [::Google::Apps::Card::V1::ChipList]
2101
+ # {::Google::Apps::Card::V1::ChipList ChipList} widget.
2102
+ #
2103
+ # Note: The following fields are mutually exclusive: `chip_list`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1847
2104
  class Widgets
1848
2105
  include ::Google::Protobuf::MessageExts
1849
2106
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1853,10 +2110,8 @@ module Google
1853
2110
  # column depends on both the `HorizontalSizeStyle` and the width of the
1854
2111
  # widgets within the column.
1855
2112
  #
1856
- # [Google Workspace Add-ons and Chat
1857
- # apps](https://developers.google.com/workspace/extend):
1858
- # Columns for Google Workspace Add-ons are in
1859
- # Developer Preview.
2113
+ # [Google Workspace add-ons and Chat
2114
+ # apps](https://developers.google.com/workspace/extend)
1860
2115
  module HorizontalSizeStyle
1861
2116
  # Don't use. Unspecified.
1862
2117
  HORIZONTAL_SIZE_STYLE_UNSPECIFIED = 0
@@ -1874,10 +2129,8 @@ module Google
1874
2129
  # Specifies whether widgets align to the top, bottom, or center of a
1875
2130
  # column.
1876
2131
  #
1877
- # [Google Workspace Add-ons and Chat
1878
- # apps](https://developers.google.com/workspace/extend):
1879
- # Columns for Google Workspace Add-ons are in
1880
- # Developer Preview.
2132
+ # [Google Workspace add-ons and Chat
2133
+ # apps](https://developers.google.com/workspace/extend)
1881
2134
  module VerticalAlignment
1882
2135
  # Don't use. Unspecified.
1883
2136
  VERTICAL_ALIGNMENT_UNSPECIFIED = 0
@@ -1894,21 +2147,109 @@ module Google
1894
2147
  end
1895
2148
  end
1896
2149
 
2150
+ # A carousel, also known as a slider, rotates and displays a list of widgets in
2151
+ # a slideshow format, with buttons navigating to the previous or next widget.
2152
+ #
2153
+ # For example, this is a JSON representation of a carousel that contains three
2154
+ # text paragraph widgets.
2155
+ #
2156
+ # ```
2157
+ # {
2158
+ # "carouselCards": [
2159
+ # {
2160
+ # "widgets": [
2161
+ # {
2162
+ # "textParagraph": {
2163
+ # "text": "First text paragraph in carousel",
2164
+ # }
2165
+ # }
2166
+ # ]
2167
+ # },
2168
+ # {
2169
+ # "widgets": [
2170
+ # {
2171
+ # "textParagraph": {
2172
+ # "text": "Second text paragraph in carousel",
2173
+ # }
2174
+ # }
2175
+ # ]
2176
+ # },
2177
+ # {
2178
+ # "widgets": [
2179
+ # {
2180
+ # "textParagraph": {
2181
+ # "text": "Third text paragraph in carousel",
2182
+ # }
2183
+ # }
2184
+ # ]
2185
+ # }
2186
+ # ]
2187
+ # }
2188
+ # ```
2189
+ #
2190
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
2191
+ # @!attribute [rw] carousel_cards
2192
+ # @return [::Array<::Google::Apps::Card::V1::Carousel::CarouselCard>]
2193
+ # A list of cards included in the carousel.
2194
+ class Carousel
2195
+ include ::Google::Protobuf::MessageExts
2196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2197
+
2198
+ # A card that can be displayed as a carousel item.
2199
+ # [Google Chat apps](https://developers.google.com/workspace/chat):
2200
+ # @!attribute [rw] widgets
2201
+ # @return [::Array<::Google::Apps::Card::V1::Card::NestedWidget>]
2202
+ # A list of widgets displayed in the carousel card. The widgets are
2203
+ # displayed in the order that they are specified.
2204
+ # @!attribute [rw] footer_widgets
2205
+ # @return [::Array<::Google::Apps::Card::V1::Card::NestedWidget>]
2206
+ # A list of widgets displayed at the bottom of the carousel card. The
2207
+ # widgets are displayed in the order that they are specified.
2208
+ class CarouselCard
2209
+ include ::Google::Protobuf::MessageExts
2210
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2211
+ end
2212
+ end
2213
+
2214
+ # Represent an expand and collapse control.
2215
+ #
2216
+ # [Google Workspace add-ons and Chat
2217
+ # apps](https://developers.google.com/workspace/extend):
2218
+ # @!attribute [rw] horizontal_alignment
2219
+ # @return [::Google::Apps::Card::V1::Widget::HorizontalAlignment]
2220
+ # The horizontal alignment of the expand and collapse button.
2221
+ # @!attribute [rw] expand_button
2222
+ # @return [::Google::Apps::Card::V1::Button]
2223
+ # Optional. Define a customizable button to expand the section.
2224
+ # Both expand_button and collapse_button field must be set. Only one
2225
+ # field set will not take into effect.
2226
+ # If this field isn't set, the default button is used.
2227
+ # @!attribute [rw] collapse_button
2228
+ # @return [::Google::Apps::Card::V1::Button]
2229
+ # Optional. Define a customizable button to collapse the section.
2230
+ # Both expand_button and collapse_button field must be set. Only one
2231
+ # field set will not take into effect.
2232
+ # If this field isn't set, the default button is used.
2233
+ class CollapseControl
2234
+ include ::Google::Protobuf::MessageExts
2235
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2236
+ end
2237
+
1897
2238
  # Represents how to respond when users click an interactive element on
1898
2239
  # a card, such as a button.
1899
2240
  #
1900
- # [Google Workspace Add-ons and Chat
2241
+ # [Google Workspace add-ons and Chat
1901
2242
  # apps](https://developers.google.com/workspace/extend):
1902
2243
  # @!attribute [rw] action
1903
2244
  # @return [::Google::Apps::Card::V1::Action]
1904
2245
  # If specified, an action is triggered by this `onClick`.
1905
2246
  #
1906
- # Note: The following fields are mutually exclusive: `action`, `open_link`, `open_dynamic_link_action`, `card`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2247
+ # Note: The following fields are mutually exclusive: `action`, `open_link`, `open_dynamic_link_action`, `card`, `overflow_menu`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1907
2248
  # @!attribute [rw] open_link
1908
2249
  # @return [::Google::Apps::Card::V1::OpenLink]
1909
2250
  # If specified, this `onClick` triggers an open link action.
1910
2251
  #
1911
- # Note: The following fields are mutually exclusive: `open_link`, `action`, `open_dynamic_link_action`, `card`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2252
+ # Note: The following fields are mutually exclusive: `open_link`, `action`, `open_dynamic_link_action`, `card`, `overflow_menu`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1912
2253
  # @!attribute [rw] open_dynamic_link_action
1913
2254
  # @return [::Google::Apps::Card::V1::Action]
1914
2255
  # An add-on triggers this action when the action needs to open a
@@ -1917,17 +2258,22 @@ module Google
1917
2258
  # web client to do before the open link action response comes back.
1918
2259
  #
1919
2260
  # [Google Workspace
1920
- # Add-ons](https://developers.google.com/workspace/add-ons):
2261
+ # add-ons](https://developers.google.com/workspace/add-ons):
1921
2262
  #
1922
- # Note: The following fields are mutually exclusive: `open_dynamic_link_action`, `action`, `open_link`, `card`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2263
+ # Note: The following fields are mutually exclusive: `open_dynamic_link_action`, `action`, `open_link`, `card`, `overflow_menu`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1923
2264
  # @!attribute [rw] card
1924
2265
  # @return [::Google::Apps::Card::V1::Card]
1925
2266
  # A new card is pushed to the card stack after clicking if specified.
1926
2267
  #
1927
2268
  # [Google Workspace
1928
- # Add-ons](https://developers.google.com/workspace/add-ons):
2269
+ # add-ons](https://developers.google.com/workspace/add-ons):
1929
2270
  #
1930
- # Note: The following fields are mutually exclusive: `card`, `action`, `open_link`, `open_dynamic_link_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2271
+ # Note: The following fields are mutually exclusive: `card`, `action`, `open_link`, `open_dynamic_link_action`, `overflow_menu`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2272
+ # @!attribute [rw] overflow_menu
2273
+ # @return [::Google::Apps::Card::V1::OverflowMenu]
2274
+ # If specified, this `onClick` opens an overflow menu.
2275
+ #
2276
+ # Note: The following fields are mutually exclusive: `overflow_menu`, `action`, `open_link`, `open_dynamic_link_action`, `card`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1931
2277
  class OnClick
1932
2278
  include ::Google::Protobuf::MessageExts
1933
2279
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1935,7 +2281,7 @@ module Google
1935
2281
 
1936
2282
  # Represents an `onClick` event that opens a hyperlink.
1937
2283
  #
1938
- # [Google Workspace Add-ons and Chat
2284
+ # [Google Workspace add-ons and Chat
1939
2285
  # apps](https://developers.google.com/workspace/extend):
1940
2286
  # @!attribute [rw] url
1941
2287
  # @return [::String]
@@ -1945,14 +2291,14 @@ module Google
1945
2291
  # How to open a link.
1946
2292
  #
1947
2293
  # [Google Workspace
1948
- # Add-ons](https://developers.google.com/workspace/add-ons):
2294
+ # add-ons](https://developers.google.com/workspace/add-ons):
1949
2295
  # @!attribute [rw] on_close
1950
2296
  # @return [::Google::Apps::Card::V1::OpenLink::OnClose]
1951
2297
  # Whether the client forgets about a link after opening it, or observes it
1952
2298
  # until the window closes.
1953
2299
  #
1954
2300
  # [Google Workspace
1955
- # Add-ons](https://developers.google.com/workspace/add-ons):
2301
+ # add-ons](https://developers.google.com/workspace/add-ons):
1956
2302
  class OpenLink
1957
2303
  include ::Google::Protobuf::MessageExts
1958
2304
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1964,7 +2310,7 @@ module Google
1964
2310
  # client doesn't support it. `FULL_SIZE` is supported by all clients.
1965
2311
  #
1966
2312
  # [Google Workspace
1967
- # Add-ons](https://developers.google.com/workspace/add-ons):
2313
+ # add-ons](https://developers.google.com/workspace/add-ons):
1968
2314
  module OpenAs
1969
2315
  # The link opens as a full-size window (if that's the frame used by the
1970
2316
  # client).
@@ -1983,7 +2329,7 @@ module Google
1983
2329
  # can't support both values, `OnClose` takes precedence.
1984
2330
  #
1985
2331
  # [Google Workspace
1986
- # Add-ons](https://developers.google.com/workspace/add-ons):
2332
+ # add-ons](https://developers.google.com/workspace/add-ons):
1987
2333
  module OnClose
1988
2334
  # Default value. The card doesn't reload; nothing happens.
1989
2335
  NOTHING = 0
@@ -2002,12 +2348,12 @@ module Google
2002
2348
  # For example, you can invoke an Apps Script script to handle the form.
2003
2349
  # If the action is triggered, the form values are sent to the server.
2004
2350
  #
2005
- # [Google Workspace Add-ons and Chat
2351
+ # [Google Workspace add-ons and Chat
2006
2352
  # apps](https://developers.google.com/workspace/extend):
2007
2353
  # @!attribute [rw] function
2008
2354
  # @return [::String]
2009
2355
  # A custom function to invoke when the containing element is
2010
- # clicked or othrwise activated.
2356
+ # clicked or otherwise activated.
2011
2357
  #
2012
2358
  # For example usage, see [Read form
2013
2359
  # data](https://developers.google.com/workspace/chat/read-form-data).
@@ -2057,6 +2403,23 @@ module Google
2057
2403
  # an add-on, the entire card is stripped and nothing is shown in the client.
2058
2404
  #
2059
2405
  # [Google Chat apps](https://developers.google.com/workspace/chat):
2406
+ # @!attribute [rw] required_widgets
2407
+ # @return [::Array<::String>]
2408
+ # Optional. Fill this list with the names of widgets that this Action
2409
+ # needs for a valid submission.
2410
+ #
2411
+ # If the widgets listed here don't have a value when this Action is invoked,
2412
+ # the form submission is aborted.
2413
+ #
2414
+ # [Google Workspace add-ons and Chat
2415
+ # apps](https://developers.google.com/workspace/extend):
2416
+ # @!attribute [rw] all_widgets_are_required
2417
+ # @return [::Boolean]
2418
+ # Optional. If this is true, then all widgets are considered required by
2419
+ # this action.
2420
+ #
2421
+ # [Google Workspace add-ons and Chat
2422
+ # apps](https://developers.google.com/workspace/extend):
2060
2423
  class Action
2061
2424
  include ::Google::Protobuf::MessageExts
2062
2425
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2069,7 +2432,7 @@ module Google
2069
2432
  # To learn more, see
2070
2433
  # [`CommonEventObject`](https://developers.google.com/workspace/chat/api/reference/rest/v1/Event#commoneventobject).
2071
2434
  #
2072
- # [Google Workspace Add-ons and Chat
2435
+ # [Google Workspace add-ons and Chat
2073
2436
  # apps](https://developers.google.com/workspace/extend):
2074
2437
  # @!attribute [rw] key
2075
2438
  # @return [::String]
@@ -2085,7 +2448,7 @@ module Google
2085
2448
  # Specifies the loading indicator that the action displays while
2086
2449
  # making the call to the action.
2087
2450
  #
2088
- # [Google Workspace Add-ons and Chat
2451
+ # [Google Workspace add-ons and Chat
2089
2452
  # apps](https://developers.google.com/workspace/extend):
2090
2453
  module LoadIndicator
2091
2454
  # Displays a spinner to indicate that content is loading.
@@ -2128,6 +2491,116 @@ module Google
2128
2491
  OPEN_DIALOG = 1
2129
2492
  end
2130
2493
  end
2494
+
2495
+ # Represents the necessary data for validating the widget it's attached to.
2496
+ #
2497
+ # [Google Workspace add-ons and Chat
2498
+ # apps](https://developers.google.com/workspace/extend):
2499
+ # @!attribute [rw] character_limit
2500
+ # @return [::Integer]
2501
+ # Specify the character limit for text input widgets. Note that this is
2502
+ # only used for text input and is ignored for other widgets.
2503
+ #
2504
+ # [Google Workspace add-ons and Chat
2505
+ # apps](https://developers.google.com/workspace/extend):
2506
+ # @!attribute [rw] input_type
2507
+ # @return [::Google::Apps::Card::V1::Validation::InputType]
2508
+ # Specify the type of the input widgets.
2509
+ #
2510
+ # [Google Workspace add-ons and Chat
2511
+ # apps](https://developers.google.com/workspace/extend):
2512
+ class Validation
2513
+ include ::Google::Protobuf::MessageExts
2514
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2515
+
2516
+ # The type of the input widget.
2517
+ module InputType
2518
+ # Unspecified type. Do not use.
2519
+ INPUT_TYPE_UNSPECIFIED = 0
2520
+
2521
+ # Regular text that accepts all characters.
2522
+ TEXT = 1
2523
+
2524
+ # An integer value.
2525
+ INTEGER = 2
2526
+
2527
+ # A float value.
2528
+ FLOAT = 3
2529
+
2530
+ # An email address.
2531
+ EMAIL = 4
2532
+
2533
+ # A emoji selected from system-provided emoji picker.
2534
+ EMOJI_PICKER = 5
2535
+ end
2536
+ end
2537
+
2538
+ # A list of chips layed out horizontally, which can either scroll horizontally
2539
+ # or wrap to the next line.
2540
+ #
2541
+ # [Google Workspace add-ons and Chat
2542
+ # apps](https://developers.google.com/workspace/extend):
2543
+ # @!attribute [rw] layout
2544
+ # @return [::Google::Apps::Card::V1::ChipList::Layout]
2545
+ # Specified chip list layout.
2546
+ # @!attribute [rw] chips
2547
+ # @return [::Array<::Google::Apps::Card::V1::Chip>]
2548
+ # An array of chips.
2549
+ class ChipList
2550
+ include ::Google::Protobuf::MessageExts
2551
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2552
+
2553
+ # The chip list layout.
2554
+ module Layout
2555
+ # Don't use. Unspecified.
2556
+ LAYOUT_UNSPECIFIED = 0
2557
+
2558
+ # Default value. The chip list wraps to the next line if there isn't enough
2559
+ # horizontal space.
2560
+ WRAPPED = 1
2561
+
2562
+ # The chips scroll horizontally if they don't fit in the available space.
2563
+ HORIZONTAL_SCROLLABLE = 2
2564
+ end
2565
+ end
2566
+
2567
+ # A text, icon, or text and icon chip that users can click.
2568
+ #
2569
+ # [Google Workspace add-ons and Chat
2570
+ # apps](https://developers.google.com/workspace/extend):
2571
+ # @!attribute [rw] icon
2572
+ # @return [::Google::Apps::Card::V1::Icon]
2573
+ # The icon image. If both `icon` and `text` are set, then the icon appears
2574
+ # before the text.
2575
+ # @!attribute [rw] label
2576
+ # @return [::String]
2577
+ # The text displayed inside the chip.
2578
+ # @!attribute [rw] on_click
2579
+ # @return [::Google::Apps::Card::V1::OnClick]
2580
+ # Optional. The action to perform when a user clicks the chip, such as
2581
+ # opening a hyperlink or running a custom function.
2582
+ # @!attribute [rw] enabled
2583
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2584
+ # @return [::Boolean]
2585
+ # Whether the chip is in an active state and responds to user actions.
2586
+ # Defaults to `true`.
2587
+ # Deprecated. Use `disabled` instead.
2588
+ # @!attribute [rw] disabled
2589
+ # @return [::Boolean]
2590
+ # Whether the chip is in an inactive state and ignores user actions.
2591
+ # Defaults to `false`.
2592
+ # @!attribute [rw] alt_text
2593
+ # @return [::String]
2594
+ # The alternative text that's used for accessibility.
2595
+ #
2596
+ # Set descriptive text that lets users know what the chip does. For
2597
+ # example, if a chip opens a hyperlink, write: "Opens a new
2598
+ # browser tab and navigates to the Google Chat developer documentation at
2599
+ # https://developers.google.com/workspace/chat".
2600
+ class Chip
2601
+ include ::Google::Protobuf::MessageExts
2602
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2603
+ end
2131
2604
  end
2132
2605
  end
2133
2606
  end