@zendeskgarden/react-dropdowns 9.6.0 → 9.7.1

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.
Files changed (57) hide show
  1. package/dist/esm/elements/combobox/Combobox.js +1 -0
  2. package/dist/esm/elements/combobox/Field.js +1 -0
  3. package/dist/esm/elements/combobox/Hint.js +1 -0
  4. package/dist/esm/elements/combobox/Label.js +1 -0
  5. package/dist/esm/elements/combobox/Listbox.js +1 -0
  6. package/dist/esm/elements/combobox/Message.js +1 -0
  7. package/dist/esm/elements/combobox/OptGroup.js +1 -0
  8. package/dist/esm/elements/combobox/Option.js +1 -0
  9. package/dist/esm/elements/combobox/OptionMeta.js +1 -0
  10. package/dist/esm/elements/combobox/Tag.js +1 -0
  11. package/dist/esm/elements/menu/Item.js +45 -25
  12. package/dist/esm/elements/menu/ItemGroup.js +1 -0
  13. package/dist/esm/elements/menu/ItemMeta.js +1 -0
  14. package/dist/esm/elements/menu/Menu.js +3 -1
  15. package/dist/esm/elements/menu/MenuList.js +1 -0
  16. package/dist/esm/elements/menu/Separator.js +1 -0
  17. package/dist/esm/elements/menu/utils.js +6 -0
  18. package/dist/esm/views/combobox/StyledCombobox.js +1 -1
  19. package/dist/esm/views/combobox/StyledContainer.js +1 -1
  20. package/dist/esm/views/combobox/StyledField.js +1 -1
  21. package/dist/esm/views/combobox/StyledFloatingListbox.js +1 -1
  22. package/dist/esm/views/combobox/StyledHint.js +1 -1
  23. package/dist/esm/views/combobox/StyledInput.js +1 -1
  24. package/dist/esm/views/combobox/StyledInputGroup.js +1 -1
  25. package/dist/esm/views/combobox/StyledInputIcon.js +1 -1
  26. package/dist/esm/views/combobox/StyledLabel.js +1 -1
  27. package/dist/esm/views/combobox/StyledListbox.js +1 -1
  28. package/dist/esm/views/combobox/StyledListboxSeparator.js +1 -1
  29. package/dist/esm/views/combobox/StyledMessage.js +1 -1
  30. package/dist/esm/views/combobox/StyledOptGroup.js +1 -1
  31. package/dist/esm/views/combobox/StyledOption.js +1 -1
  32. package/dist/esm/views/combobox/StyledOptionContent.js +1 -1
  33. package/dist/esm/views/combobox/StyledOptionIcon.js +1 -1
  34. package/dist/esm/views/combobox/StyledOptionMeta.js +1 -1
  35. package/dist/esm/views/combobox/StyledOptionSelectionIcon.js +1 -1
  36. package/dist/esm/views/combobox/StyledOptionTypeIcon.js +1 -1
  37. package/dist/esm/views/combobox/StyledTag.js +1 -1
  38. package/dist/esm/views/combobox/StyledTagsButton.js +1 -1
  39. package/dist/esm/views/combobox/StyledTrigger.js +1 -1
  40. package/dist/esm/views/combobox/StyledValue.js +1 -1
  41. package/dist/esm/views/menu/StyledFloatingMenu.js +1 -1
  42. package/dist/esm/views/menu/StyledItem.js +1 -1
  43. package/dist/esm/views/menu/StyledItemAnchor.js +22 -0
  44. package/dist/esm/views/menu/StyledItemContent.js +1 -1
  45. package/dist/esm/views/menu/StyledItemGroup.js +1 -1
  46. package/dist/esm/views/menu/StyledItemIcon.js +1 -1
  47. package/dist/esm/views/menu/StyledItemMeta.js +1 -1
  48. package/dist/esm/views/menu/StyledItemTypeIcon.js +1 -1
  49. package/dist/esm/views/menu/StyledMenu.js +1 -1
  50. package/dist/esm/views/menu/StyledSeparator.js +1 -1
  51. package/dist/index.cjs.js +163 -126
  52. package/dist/typings/context/useMenuContext.d.ts +2 -0
  53. package/dist/typings/elements/menu/Item.d.ts +4 -0
  54. package/dist/typings/types/index.d.ts +5 -1
  55. package/dist/typings/views/index.d.ts +1 -0
  56. package/dist/typings/views/menu/StyledItemAnchor.d.ts +11 -0
  57. package/package.json +8 -8
package/dist/index.cjs.js CHANGED
@@ -80,69 +80,69 @@ const useFieldContext = () => {
80
80
  return context;
81
81
  };
82
82
 
83
- const COMPONENT_ID$v = 'dropdowns.combobox.label';
83
+ const COMPONENT_ID$w = 'dropdowns.combobox.label';
84
84
  const StyledLabel = styled__default.default(reactForms.Field.Label).attrs({
85
- 'data-garden-id': COMPONENT_ID$v,
86
- 'data-garden-version': '9.6.0'
85
+ 'data-garden-id': COMPONENT_ID$w,
86
+ 'data-garden-version': '9.7.1'
87
87
  }).withConfig({
88
88
  displayName: "StyledLabel",
89
89
  componentId: "sc-az6now-0"
90
90
  })(["vertical-align:revert;", ";"], reactTheming.componentStyles);
91
91
 
92
- const COMPONENT_ID$u = 'dropdowns.combobox.hint';
92
+ const COMPONENT_ID$v = 'dropdowns.combobox.hint';
93
93
  const StyledHint = styled__default.default(reactForms.Field.Hint).attrs({
94
- 'data-garden-id': COMPONENT_ID$u,
95
- 'data-garden-version': '9.6.0'
94
+ 'data-garden-id': COMPONENT_ID$v,
95
+ 'data-garden-version': '9.7.1'
96
96
  }).withConfig({
97
97
  displayName: "StyledHint",
98
98
  componentId: "sc-106qvqx-0"
99
99
  })(["", ";"], reactTheming.componentStyles);
100
100
 
101
- const COMPONENT_ID$t = 'dropdowns.combobox.message';
101
+ const COMPONENT_ID$u = 'dropdowns.combobox.message';
102
102
  const StyledMessage = styled__default.default(reactForms.Field.Message).attrs({
103
- 'data-garden-id': COMPONENT_ID$t,
104
- 'data-garden-version': '9.6.0'
103
+ 'data-garden-id': COMPONENT_ID$u,
104
+ 'data-garden-version': '9.7.1'
105
105
  }).withConfig({
106
106
  displayName: "StyledMessage",
107
107
  componentId: "sc-jux8m5-0"
108
108
  })(["", ";"], reactTheming.componentStyles);
109
109
 
110
- const COMPONENT_ID$s = 'dropdowns.combobox';
110
+ const COMPONENT_ID$t = 'dropdowns.combobox';
111
111
  const sizeStyles$b = props => {
112
112
  const minWidth = `${props.$isCompact ? 100 : 144}px`;
113
113
  const marginTop = `${props.theme.space.base * (props.$isCompact ? 1 : 2)}px`;
114
114
  return styled.css(["min-width:", ";", ":not([hidden]) + &&,", " + &&,", " + &&,&& + ", ",&& + ", "{margin-top:", ";}"], minWidth, StyledLabel, StyledHint, StyledMessage, StyledHint, StyledMessage, marginTop);
115
115
  };
116
116
  const StyledCombobox = styled__default.default.div.attrs({
117
- 'data-garden-id': COMPONENT_ID$s,
118
- 'data-garden-version': '9.6.0'
117
+ 'data-garden-id': COMPONENT_ID$t,
118
+ 'data-garden-version': '9.7.1'
119
119
  }).withConfig({
120
120
  displayName: "StyledCombobox",
121
121
  componentId: "sc-13eybg8-0"
122
122
  })(["", ";", ";"], sizeStyles$b, reactTheming.componentStyles);
123
123
 
124
- const COMPONENT_ID$r = 'dropdowns.combobox.container';
124
+ const COMPONENT_ID$s = 'dropdowns.combobox.container';
125
125
  const StyledContainer = styled__default.default.div.attrs({
126
- 'data-garden-id': COMPONENT_ID$r,
127
- 'data-garden-version': '9.6.0'
126
+ 'data-garden-id': COMPONENT_ID$s,
127
+ 'data-garden-version': '9.7.1'
128
128
  }).withConfig({
129
129
  displayName: "StyledContainer",
130
130
  componentId: "sc-14i9jid-0"
131
131
  })(["display:flex;", ";"], reactTheming.componentStyles);
132
132
 
133
- const COMPONENT_ID$q = 'dropdowns.combobox.field';
133
+ const COMPONENT_ID$r = 'dropdowns.combobox.field';
134
134
  const StyledField = styled__default.default.div.attrs({
135
- 'data-garden-id': COMPONENT_ID$q,
136
- 'data-garden-version': '9.6.0'
135
+ 'data-garden-id': COMPONENT_ID$r,
136
+ 'data-garden-version': '9.7.1'
137
137
  }).withConfig({
138
138
  displayName: "StyledField",
139
139
  componentId: "sc-zc57xl-0"
140
140
  })(["direction:", ";text-align:start;", ";"], props => props.theme.rtl ? 'rtl' : 'ltr', reactTheming.componentStyles);
141
141
 
142
- const COMPONENT_ID$p = 'dropdowns.combobox.floating';
142
+ const COMPONENT_ID$q = 'dropdowns.combobox.floating';
143
143
  const StyledFloatingListbox = styled__default.default.div.attrs({
144
- 'data-garden-id': COMPONENT_ID$p,
145
- 'data-garden-version': '9.6.0'
144
+ 'data-garden-id': COMPONENT_ID$q,
145
+ 'data-garden-version': '9.7.1'
146
146
  }).withConfig({
147
147
  displayName: "StyledFloatingListbox",
148
148
  componentId: "sc-1cp6spf-0"
@@ -153,7 +153,7 @@ const StyledFloatingListbox = styled__default.default.div.attrs({
153
153
  zIndex: props.$zIndex
154
154
  }), reactTheming.componentStyles);
155
155
 
156
- const COMPONENT_ID$o = 'dropdowns.combobox.input';
156
+ const COMPONENT_ID$p = 'dropdowns.combobox.input';
157
157
  const colorStyles$a = _ref => {
158
158
  let {
159
159
  theme
@@ -179,27 +179,27 @@ const sizeStyles$a = props => {
179
179
  return styled.css(["min-width:", ";height:", "px;line-height:", ";font-size:", ";&&{margin-top:", ";margin-bottom:", ";}"], minWidth, height, lineHeight, fontSize, margin, margin);
180
180
  };
181
181
  const StyledInput = styled__default.default.input.attrs({
182
- 'data-garden-id': COMPONENT_ID$o,
183
- 'data-garden-version': '9.6.0'
182
+ 'data-garden-id': COMPONENT_ID$p,
183
+ 'data-garden-version': '9.7.1'
184
184
  }).withConfig({
185
185
  displayName: "StyledInput",
186
186
  componentId: "sc-1lkqdg-0"
187
187
  })(["flex-basis:0;flex-grow:1;border:none;padding:0;font-family:inherit;&:focus{outline:none;}", ";", ";&[hidden]{display:revert;", "}&[aria-hidden='true']{display:none;}", ";"], sizeStyles$a, colorStyles$a, props => props.$isEditable && polished.hideVisually(), reactTheming.componentStyles);
188
188
 
189
- const COMPONENT_ID$n = 'dropdowns.combobox.input_group';
189
+ const COMPONENT_ID$o = 'dropdowns.combobox.input_group';
190
190
  const sizeStyles$9 = props => {
191
191
  const margin = props.theme.shadowWidths.sm;
192
192
  return styled.css(["margin:-", ";min-width:0;& > *{margin:", ";}"], margin, margin);
193
193
  };
194
194
  const StyledInputGroup = styled__default.default.div.attrs({
195
- 'data-garden-id': COMPONENT_ID$n,
196
- 'data-garden-version': '9.6.0'
195
+ 'data-garden-id': COMPONENT_ID$o,
196
+ 'data-garden-version': '9.7.1'
197
197
  }).withConfig({
198
198
  displayName: "StyledInputGroup",
199
199
  componentId: "sc-yx3q7u-0"
200
200
  })(["display:flex;flex-grow:1;flex-wrap:wrap;", ";", ";"], sizeStyles$9, reactTheming.componentStyles);
201
201
 
202
- const COMPONENT_ID$m = 'dropdowns.combobox.trigger';
202
+ const COMPONENT_ID$n = 'dropdowns.combobox.trigger';
203
203
  const colorStyles$9 = _ref => {
204
204
  let {
205
205
  theme,
@@ -302,14 +302,14 @@ const sizeStyles$8 = props => {
302
302
  return styled.css(["padding:", " ", ";min-height:", ";max-height:", ";font-size:", ";"], verticalPadding, horizontalPadding, minHeight, $maxHeight, props.theme.fontSizes.md);
303
303
  };
304
304
  const StyledTrigger = styled__default.default.div.attrs({
305
- 'data-garden-id': COMPONENT_ID$m,
306
- 'data-garden-version': '9.6.0'
305
+ 'data-garden-id': COMPONENT_ID$n,
306
+ 'data-garden-version': '9.7.1'
307
307
  }).withConfig({
308
308
  displayName: "StyledTrigger",
309
309
  componentId: "sc-116nftk-0"
310
310
  })(["overflow-y:", ";transition:border-color 0.25s ease-in-out,box-shadow 0.1s ease-in-out,background-color 0.25s ease-in-out,color 0.25s ease-in-out;border:", ";border-radius:", ";cursor:", ";box-sizing:border-box;", ";&:focus{outline:none;}", ";&[aria-disabled='true']{cursor:default;}", ";"], props => props.$isBare && !props.$isMultiselectable ? 'visible' : 'auto', props => props.$isBare ? 'none' : props.theme.borders.sm, props => props.$isBare ? '0' : props.theme.borderRadii.md, props => !props.$isAutocomplete && props.$isEditable ? 'text' : 'pointer', sizeStyles$8, colorStyles$9, reactTheming.componentStyles);
311
311
 
312
- const COMPONENT_ID$l = 'dropdowns.combobox.input_icon';
312
+ const COMPONENT_ID$m = 'dropdowns.combobox.input_icon';
313
313
  const colorStyles$8 = _ref => {
314
314
  let {
315
315
  theme,
@@ -348,14 +348,14 @@ const sizeStyles$7 = props => {
348
348
  return styled.css(["top:", ";margin-", ":", ";width:", ";height:", ";"], position, side, margin, size, size);
349
349
  };
350
350
  const StyledInputIcon = styled__default.default(reactTheming.StyledBaseIcon).attrs({
351
- 'data-garden-id': COMPONENT_ID$l,
352
- 'data-garden-version': '9.6.0'
351
+ 'data-garden-id': COMPONENT_ID$m,
352
+ 'data-garden-version': '9.7.1'
353
353
  }).withConfig({
354
354
  displayName: "StyledInputIcon",
355
355
  componentId: "sc-gqbs1s-0"
356
356
  })(["position:sticky;flex-shrink:0;transform:", ";transition:transform 0.25s ease-in-out,color 0.25s ease-in-out;", ";", ";", ";"], props => props.$isRotated && `rotate(${props.theme.rtl ? '-' : '+'}180deg)`, sizeStyles$7, colorStyles$8, reactTheming.componentStyles);
357
357
 
358
- const COMPONENT_ID$k = 'dropdowns.combobox.option';
358
+ const COMPONENT_ID$l = 'dropdowns.combobox.option';
359
359
  const colorStyles$7 = _ref => {
360
360
  let {
361
361
  theme,
@@ -403,32 +403,32 @@ const sizeStyles$6 = props => {
403
403
  return styled.css(["box-sizing:border-box;padding:", " ", ";min-height:", "px;line-height:", ";"], paddingVertical, paddingHorizontal, minHeight, lineHeight);
404
404
  };
405
405
  const StyledOption = styled__default.default.li.attrs({
406
- 'data-garden-id': COMPONENT_ID$k,
407
- 'data-garden-version': '9.6.0'
406
+ 'data-garden-id': COMPONENT_ID$l,
407
+ 'data-garden-version': '9.7.1'
408
408
  }).withConfig({
409
409
  displayName: "StyledOption",
410
410
  componentId: "sc-jl4wn6-0"
411
411
  })(["display:flex;position:relative;transition:color 0.25s ease-in-out;cursor:", ";overflow-wrap:anywhere;font-weight:", ";user-select:none;&:focus{outline:none;}", ";", ";&[aria-disabled='true']{cursor:default;}&[aria-hidden='true']{", ";}", ";"], props => props.$type === 'group' || props.$type === 'header' ? 'default' : 'pointer', props => props.$type === 'header' || props.$type === 'previous' ? props.theme.fontWeights.semibold : props.theme.fontWeights.regular, sizeStyles$6, colorStyles$7, polished.hideVisually(), reactTheming.componentStyles);
412
412
 
413
- const COMPONENT_ID$j = 'dropdowns.combobox.option.content';
413
+ const COMPONENT_ID$k = 'dropdowns.combobox.option.content';
414
414
  const StyledOptionContent = styled__default.default.div.attrs({
415
- 'data-garden-id': COMPONENT_ID$j,
416
- 'data-garden-version': '9.6.0'
415
+ 'data-garden-id': COMPONENT_ID$k,
416
+ 'data-garden-version': '9.7.1'
417
417
  }).withConfig({
418
418
  displayName: "StyledOptionContent",
419
419
  componentId: "sc-121ujpu-0"
420
420
  })(["display:flex;flex-direction:column;flex-grow:1;", ";"], reactTheming.componentStyles);
421
421
 
422
- const COMPONENT_ID$i = 'dropdowns.combobox.optgroup';
422
+ const COMPONENT_ID$j = 'dropdowns.combobox.optgroup';
423
423
  const StyledOptGroup = styled__default.default.ul.attrs({
424
- 'data-garden-id': COMPONENT_ID$i,
425
- 'data-garden-version': '9.6.0'
424
+ 'data-garden-id': COMPONENT_ID$j,
425
+ 'data-garden-version': '9.7.1'
426
426
  }).withConfig({
427
427
  displayName: "StyledOptGroup",
428
428
  componentId: "sc-1kavqsx-0"
429
429
  })(["margin:0;padding:0;list-style-type:none;", ";"], reactTheming.componentStyles);
430
430
 
431
- const COMPONENT_ID$h = 'dropdowns.combobox.separator';
431
+ const COMPONENT_ID$i = 'dropdowns.combobox.separator';
432
432
  const colorStyles$6 = _ref => {
433
433
  let {
434
434
  theme
@@ -445,28 +445,28 @@ const sizeStyles$5 = props => {
445
445
  return styled.css(["margin:", " 0;height:", ";"], margin, height);
446
446
  };
447
447
  const StyledListboxSeparator = styled__default.default.li.attrs({
448
- 'data-garden-id': COMPONENT_ID$h,
449
- 'data-garden-version': '9.6.0'
448
+ 'data-garden-id': COMPONENT_ID$i,
449
+ 'data-garden-version': '9.7.1'
450
450
  }).withConfig({
451
451
  displayName: "StyledListboxSeparator",
452
452
  componentId: "sc-1p6toh2-0"
453
453
  })(["cursor:default;", ";", ";", ";"], sizeStyles$5, colorStyles$6, reactTheming.componentStyles);
454
454
 
455
- const COMPONENT_ID$g = 'dropdowns.combobox.listbox';
455
+ const COMPONENT_ID$h = 'dropdowns.combobox.listbox';
456
456
  const sizeStyles$4 = props => {
457
457
  const padding = props.theme.space.base;
458
458
  const $minHeight = props.$minHeight === undefined ? `${getMinHeight(props) + padding * 2}px` : props.$minHeight;
459
459
  return styled.css(["min-height:", ";max-height:", ";&&&{padding-top:", "px;padding-bottom:", "px;}"], $minHeight, props.$maxHeight, padding, padding);
460
460
  };
461
461
  const StyledListbox = styled__default.default.ul.attrs({
462
- 'data-garden-id': COMPONENT_ID$g,
463
- 'data-garden-version': '9.6.0'
462
+ 'data-garden-id': COMPONENT_ID$h,
463
+ 'data-garden-version': '9.7.1'
464
464
  }).withConfig({
465
465
  displayName: "StyledListbox",
466
466
  componentId: "sc-1k13ba7-0"
467
467
  })(["overflow-y:auto;list-style-type:none;", ";&&&{display:block;}", ":first-child ", " ", ":first-child ", "[role='none']:first-child{display:none;}"], sizeStyles$4, StyledOption, StyledOptionContent, StyledOptGroup, StyledListboxSeparator);
468
468
 
469
- const COMPONENT_ID$f = 'dropdowns.combobox.option.icon';
469
+ const COMPONENT_ID$g = 'dropdowns.combobox.option.icon';
470
470
  const colorStyles$5 = _ref => {
471
471
  let {
472
472
  theme,
@@ -496,14 +496,14 @@ const sizeStyles$3 = props => {
496
496
  return styled.css(["margin-top:", ";margin-", ":", ";width:", ";height:", ";"], marginTop, props.theme.rtl ? 'left' : 'right', marginHorizontal, size, size);
497
497
  };
498
498
  const StyledOptionIcon = styled__default.default(reactTheming.StyledBaseIcon).attrs({
499
- 'data-garden-id': COMPONENT_ID$f,
500
- 'data-garden-version': '9.6.0'
499
+ 'data-garden-id': COMPONENT_ID$g,
500
+ 'data-garden-version': '9.7.1'
501
501
  }).withConfig({
502
502
  displayName: "StyledOptionIcon",
503
503
  componentId: "sc-qsab3y-0"
504
504
  })(["flex-shrink:0;", ";", ";", ";"], sizeStyles$3, colorStyles$5, reactTheming.componentStyles);
505
505
 
506
- const COMPONENT_ID$e = 'dropdowns.combobox.option.meta';
506
+ const COMPONENT_ID$f = 'dropdowns.combobox.option.meta';
507
507
  const colorStyles$4 = _ref => {
508
508
  let {
509
509
  theme,
@@ -522,14 +522,14 @@ const sizeStyles$2 = props => {
522
522
  return styled.css(["line-height:", ";font-size:", ";"], lineHeight, fontSize);
523
523
  };
524
524
  const StyledOptionMeta = styled__default.default.div.attrs({
525
- 'data-garden-id': COMPONENT_ID$e,
526
- 'data-garden-version': '9.6.0'
525
+ 'data-garden-id': COMPONENT_ID$f,
526
+ 'data-garden-version': '9.7.1'
527
527
  }).withConfig({
528
528
  displayName: "StyledOptionMeta",
529
529
  componentId: "sc-j6pu10-0"
530
530
  })(["transition:color 0.25s ease-in-out;font-weight:", ";", ";", ";", ";"], props => props.theme.fontWeights.regular, sizeStyles$2, colorStyles$4, reactTheming.componentStyles);
531
531
 
532
- const COMPONENT_ID$d = 'dropdowns.combobox.option.selection_icon';
532
+ const COMPONENT_ID$e = 'dropdowns.combobox.option.selection_icon';
533
533
  const colorStyles$3 = _ref => {
534
534
  let {
535
535
  theme
@@ -555,14 +555,14 @@ const sizeStyles$1 = _ref2 => {
555
555
  return styled.css(["top:", ";", ":", ";width:", ";height:", ";"], top, side, position, size, size);
556
556
  };
557
557
  const StyledOptionSelectionIcon = styled__default.default(reactTheming.StyledBaseIcon).attrs({
558
- 'data-garden-id': COMPONENT_ID$d,
559
- 'data-garden-version': '9.6.0'
558
+ 'data-garden-id': COMPONENT_ID$e,
559
+ 'data-garden-version': '9.7.1'
560
560
  }).withConfig({
561
561
  displayName: "StyledOptionSelectionIcon",
562
562
  componentId: "sc-12wj24m-0"
563
563
  })(["position:absolute;", ";", ";", ";"], sizeStyles$1, colorStyles$3, reactTheming.componentStyles);
564
564
 
565
- const COMPONENT_ID$c = 'dropdowns.combobox.option.type_icon';
565
+ const COMPONENT_ID$d = 'dropdowns.combobox.option.type_icon';
566
566
  const colorStyles$2 = _ref => {
567
567
  let {
568
568
  theme,
@@ -598,17 +598,17 @@ const sizeStyles = props => {
598
598
  return styled.css(["top:", ";", ":", ";width:", ";height:", ";"], top, side, position, size, size);
599
599
  };
600
600
  const StyledOptionTypeIcon = styled__default.default(reactTheming.StyledBaseIcon).attrs({
601
- 'data-garden-id': COMPONENT_ID$c,
602
- 'data-garden-version': '9.6.0'
601
+ 'data-garden-id': COMPONENT_ID$d,
602
+ 'data-garden-version': '9.7.1'
603
603
  }).withConfig({
604
604
  displayName: "StyledOptionTypeIcon",
605
605
  componentId: "sc-xpink2-0"
606
606
  })(["position:absolute;transform:", ";transition:opacity 0.1s ease-in-out;", ";", ";", ";"], props => props.theme.rtl && (props.$type === 'next' || props.$type === 'previous') && 'rotate(180deg)', sizeStyles, colorStyles$2, reactTheming.componentStyles);
607
607
 
608
- const COMPONENT_ID$b = 'dropdowns.combobox.tag';
608
+ const COMPONENT_ID$c = 'dropdowns.combobox.tag';
609
609
  const StyledTag = styled__default.default(reactTags.Tag).attrs({
610
- 'data-garden-id': COMPONENT_ID$b,
611
- 'data-garden-version': '9.6.0'
610
+ 'data-garden-id': COMPONENT_ID$c,
611
+ 'data-garden-version': '9.7.1'
612
612
  }).withConfig({
613
613
  displayName: "StyledTag",
614
614
  componentId: "sc-1alam0r-0"
@@ -617,7 +617,7 @@ const StyledTag = styled__default.default(reactTags.Tag).attrs({
617
617
  variable: 'foreground.disabled'
618
618
  }), polished.hideVisually(), reactTheming.componentStyles);
619
619
 
620
- const COMPONENT_ID$a = 'dropdowns.combobox.value';
620
+ const COMPONENT_ID$b = 'dropdowns.combobox.value';
621
621
  const colorStyles$1 = _ref => {
622
622
  let {
623
623
  theme,
@@ -630,8 +630,8 @@ const colorStyles$1 = _ref => {
630
630
  return styled.css(["color:", ";"], foregroundColor);
631
631
  };
632
632
  const StyledValue = styled__default.default.div.attrs({
633
- 'data-garden-id': COMPONENT_ID$a,
634
- 'data-garden-version': '9.6.0'
633
+ 'data-garden-id': COMPONENT_ID$b,
634
+ 'data-garden-version': '9.7.1'
635
635
  }).withConfig({
636
636
  displayName: "StyledValue",
637
637
  componentId: "sc-t719sx-0"
@@ -642,7 +642,7 @@ const StyledValue = styled__default.default.div.attrs({
642
642
  return props.$isEditable && !props.$isAutocomplete ? 'text' : 'pointer';
643
643
  }, sizeStyles$a, colorStyles$1, reactTheming.componentStyles);
644
644
 
645
- const COMPONENT_ID$9 = 'dropdowns.combobox.tags_button';
645
+ const COMPONENT_ID$a = 'dropdowns.combobox.tags_button';
646
646
  const colorStyles = _ref => {
647
647
  let {
648
648
  theme
@@ -655,17 +655,17 @@ const colorStyles = _ref => {
655
655
  };
656
656
  const StyledTagsButton = styled__default.default(StyledValue).attrs({
657
657
  as: 'button',
658
- 'data-garden-id': COMPONENT_ID$9,
659
- 'data-garden-version': '9.6.0'
658
+ 'data-garden-id': COMPONENT_ID$a,
659
+ 'data-garden-version': '9.7.1'
660
660
  }).withConfig({
661
661
  displayName: "StyledTagsButton",
662
662
  componentId: "sc-6q5w33-0"
663
663
  })(["display:inline-flex;flex:0 1 auto;align-items:center;border:none;background-color:transparent;cursor:pointer;min-width:auto;font-family:inherit;&:hover{text-decoration:underline;}", ";&:disabled{cursor:default;text-decoration:none;}", ";"], colorStyles, reactTheming.componentStyles);
664
664
 
665
- const COMPONENT_ID$8 = 'dropdowns.menu';
665
+ const COMPONENT_ID$9 = 'dropdowns.menu';
666
666
  const StyledMenu = styled__default.default(StyledListbox).attrs({
667
- 'data-garden-id': COMPONENT_ID$8,
668
- 'data-garden-version': '9.6.0'
667
+ 'data-garden-id': COMPONENT_ID$9,
668
+ 'data-garden-version': '9.7.1'
669
669
  }).withConfig({
670
670
  displayName: "StyledMenu",
671
671
  componentId: "sc-f77ntu-0"
@@ -675,73 +675,83 @@ const StyledMenu = styled__default.default(StyledListbox).attrs({
675
675
  animationModifier: '[data-garden-animate-arrow="true"]'
676
676
  }), reactTheming.componentStyles);
677
677
 
678
- const COMPONENT_ID$7 = 'dropdowns.menu.floating';
678
+ const COMPONENT_ID$8 = 'dropdowns.menu.floating';
679
679
  const StyledFloatingMenu = styled__default.default(StyledFloatingListbox).attrs({
680
- 'data-garden-id': COMPONENT_ID$7,
681
- 'data-garden-version': '9.6.0'
680
+ 'data-garden-id': COMPONENT_ID$8,
681
+ 'data-garden-version': '9.7.1'
682
682
  }).withConfig({
683
683
  displayName: "StyledFloatingMenu",
684
684
  componentId: "sc-1rc7ahb-0"
685
685
  })(["", ";"], reactTheming.componentStyles);
686
686
 
687
- const COMPONENT_ID$6 = 'dropdowns.menu.item';
687
+ const COMPONENT_ID$7 = 'dropdowns.menu.item';
688
688
  const StyledItem = styled__default.default(StyledOption).attrs({
689
- 'data-garden-id': COMPONENT_ID$6,
690
- 'data-garden-version': '9.6.0'
689
+ 'data-garden-id': COMPONENT_ID$7,
690
+ 'data-garden-version': '9.7.1'
691
691
  }).withConfig({
692
692
  displayName: "StyledItem",
693
693
  componentId: "sc-1jp99dq-0"
694
694
  })(["", ";"], reactTheming.componentStyles);
695
695
 
696
- const COMPONENT_ID$5 = 'dropdowns.menu.item.content';
697
- const StyledItemContent = styled__default.default(StyledOptionContent).attrs({
696
+ const COMPONENT_ID$6 = 'dropdowns.menu.item.type_icon';
697
+ const StyledItemTypeIcon = styled__default.default(StyledOptionTypeIcon).attrs({
698
+ 'data-garden-id': COMPONENT_ID$6,
699
+ 'data-garden-version': '9.7.1'
700
+ }).withConfig({
701
+ displayName: "StyledItemTypeIcon",
702
+ componentId: "sc-1pll3nu-0"
703
+ })(["", "[aria-checked='true'] > &{opacity:1;}", ";"], StyledItem, reactTheming.componentStyles);
704
+
705
+ const COMPONENT_ID$5 = 'dropdowns.menu.item_anchor';
706
+ const StyledItemAnchor = styled__default.default(StyledOption).attrs({
698
707
  'data-garden-id': COMPONENT_ID$5,
699
- 'data-garden-version': '9.6.0'
708
+ 'data-garden-version': '9.7.1',
709
+ as: 'a'
710
+ }).withConfig({
711
+ displayName: "StyledItemAnchor",
712
+ componentId: "sc-b75oa4-0"
713
+ })(["text-decoration:none;color:unset;&[aria-current='page'] > ", "{opacity:1;}", ";"], StyledItemTypeIcon, reactTheming.componentStyles);
714
+
715
+ const COMPONENT_ID$4 = 'dropdowns.menu.item.content';
716
+ const StyledItemContent = styled__default.default(StyledOptionContent).attrs({
717
+ 'data-garden-id': COMPONENT_ID$4,
718
+ 'data-garden-version': '9.7.1'
700
719
  }).withConfig({
701
720
  displayName: "StyledItemContent",
702
721
  componentId: "sc-1opglsb-0"
703
722
  })(["", ";"], reactTheming.componentStyles);
704
723
 
705
- const COMPONENT_ID$4 = 'dropdowns.menu.item_group';
724
+ const COMPONENT_ID$3 = 'dropdowns.menu.item_group';
706
725
  const StyledItemGroup = styled__default.default(StyledOptGroup).attrs({
707
- 'data-garden-id': COMPONENT_ID$4,
708
- 'data-garden-version': '9.6.0'
726
+ 'data-garden-id': COMPONENT_ID$3,
727
+ 'data-garden-version': '9.7.1'
709
728
  }).withConfig({
710
729
  displayName: "StyledItemGroup",
711
730
  componentId: "sc-1umk3cg-0"
712
731
  })(["", ";"], reactTheming.componentStyles);
713
732
 
714
- const COMPONENT_ID$3 = 'dropdowns.menu.item.icon';
733
+ const COMPONENT_ID$2 = 'dropdowns.menu.item.icon';
715
734
  const StyledItemIcon = styled__default.default(StyledOptionIcon).attrs({
716
- 'data-garden-id': COMPONENT_ID$3,
717
- 'data-garden-version': '9.6.0'
735
+ 'data-garden-id': COMPONENT_ID$2,
736
+ 'data-garden-version': '9.7.1'
718
737
  }).withConfig({
719
738
  displayName: "StyledItemIcon",
720
739
  componentId: "sc-w9orqb-0"
721
740
  })(["", ";"], reactTheming.componentStyles);
722
741
 
723
- const COMPONENT_ID$2 = 'dropdowns.menu.item.meta';
742
+ const COMPONENT_ID$1 = 'dropdowns.menu.item.meta';
724
743
  const StyledItemMeta = styled__default.default(StyledOptionMeta).attrs({
725
- 'data-garden-id': COMPONENT_ID$2,
726
- 'data-garden-version': '9.6.0'
744
+ 'data-garden-id': COMPONENT_ID$1,
745
+ 'data-garden-version': '9.7.1'
727
746
  }).withConfig({
728
747
  displayName: "StyledItemMeta",
729
748
  componentId: "sc-1unw3x1-0"
730
749
  })(["", ";"], reactTheming.componentStyles);
731
750
 
732
- const COMPONENT_ID$1 = 'dropdowns.menu.item.type_icon';
733
- const StyledItemTypeIcon = styled__default.default(StyledOptionTypeIcon).attrs({
734
- 'data-garden-id': COMPONENT_ID$1,
735
- 'data-garden-version': '9.6.0'
736
- }).withConfig({
737
- displayName: "StyledItemTypeIcon",
738
- componentId: "sc-1pll3nu-0"
739
- })(["", "[aria-checked='true'] > &{opacity:1;}", ";"], StyledItem, reactTheming.componentStyles);
740
-
741
751
  const COMPONENT_ID = 'dropdowns.menu.separator';
742
752
  const StyledSeparator = styled__default.default(StyledListboxSeparator).attrs({
743
753
  'data-garden-id': COMPONENT_ID,
744
- 'data-garden-version': '9.6.0'
754
+ 'data-garden-version': '9.7.1'
745
755
  }).withConfig({
746
756
  displayName: "StyledSeparator",
747
757
  componentId: "sc-8kqwen-0"
@@ -1594,9 +1604,15 @@ const toItem = props => ({
1594
1604
  ...(props.name && {
1595
1605
  name: props.name
1596
1606
  }),
1607
+ ...(props.href && {
1608
+ href: props.href
1609
+ }),
1597
1610
  ...(props.isDisabled && {
1598
1611
  disabled: props.isDisabled
1599
1612
  }),
1613
+ ...(props.isExternal && {
1614
+ external: props.isExternal
1615
+ }),
1600
1616
  ...(props.isSelected && {
1601
1617
  selected: props.isSelected
1602
1618
  }),
@@ -1783,6 +1799,7 @@ const Menu = React.forwardRef((_ref2, ref) => {
1783
1799
  focusedValue,
1784
1800
  getTriggerProps,
1785
1801
  getMenuProps,
1802
+ getAnchorProps,
1786
1803
  getItemProps,
1787
1804
  getItemGroupProps,
1788
1805
  getSeparatorProps
@@ -1826,10 +1843,11 @@ const Menu = React.forwardRef((_ref2, ref) => {
1826
1843
  const contextValue = React.useMemo(() => ({
1827
1844
  isCompact,
1828
1845
  focusedValue,
1846
+ getAnchorProps,
1829
1847
  getItemProps,
1830
1848
  getItemGroupProps,
1831
1849
  getSeparatorProps
1832
- }), [isCompact, focusedValue, getItemProps, getItemGroupProps, getSeparatorProps]);
1850
+ }), [focusedValue, getAnchorProps, getItemGroupProps, getItemProps, getSeparatorProps, isCompact]);
1833
1851
  return React__namespace.default.createElement(MenuContext.Provider, {
1834
1852
  value: contextValue
1835
1853
  }, trigger, React__namespace.default.createElement(MenuList, Object.assign({}, props, getMenuProps({
@@ -1946,26 +1964,41 @@ const ItemMetaComponent = React.forwardRef((props, ref) => {
1946
1964
  ItemMetaComponent.displayName = 'Item.Meta';
1947
1965
  const ItemMeta = ItemMetaComponent;
1948
1966
 
1967
+ const renderActionIcon = itemType => {
1968
+ switch (itemType) {
1969
+ case 'add':
1970
+ return React__namespace.default.createElement(SvgPlusStroke, null);
1971
+ case 'next':
1972
+ return React__namespace.default.createElement(SvgChevronRightStroke, null);
1973
+ case 'previous':
1974
+ return React__namespace.default.createElement(SvgChevronLeftStroke, null);
1975
+ default:
1976
+ return React__namespace.default.createElement(SvgCheckLgStroke, null);
1977
+ }
1978
+ };
1949
1979
  const ItemComponent = React.forwardRef((_ref, ref) => {
1950
1980
  let {
1951
1981
  children,
1952
1982
  value,
1953
1983
  label = value,
1984
+ href,
1954
1985
  isSelected,
1955
1986
  icon,
1956
1987
  isDisabled,
1988
+ isExternal,
1957
1989
  type,
1958
1990
  name,
1959
1991
  onClick,
1960
1992
  onKeyDown,
1961
1993
  onMouseEnter,
1962
- ...props
1994
+ ...other
1963
1995
  } = _ref;
1964
1996
  const {
1965
1997
  type: selectionType
1966
1998
  } = useItemGroupContext();
1967
1999
  const {
1968
2000
  focusedValue,
2001
+ getAnchorProps,
1969
2002
  getItemProps,
1970
2003
  isCompact
1971
2004
  } = useMenuContext();
@@ -1976,10 +2009,18 @@ const ItemComponent = React.forwardRef((_ref, ref) => {
1976
2009
  name,
1977
2010
  type,
1978
2011
  isSelected,
1979
- isDisabled
2012
+ isDisabled,
2013
+ href,
2014
+ isExternal
1980
2015
  }),
1981
2016
  type: selectionType
1982
2017
  };
2018
+ const anchorProps = getAnchorProps({
2019
+ item
2020
+ });
2021
+ if (anchorProps && (type === 'add' || type === 'danger')) {
2022
+ throw new Error(`Menu link item '${value}' can't use type '${type}'`);
2023
+ }
1983
2024
  const {
1984
2025
  ref: _itemRef,
1985
2026
  ...itemProps
@@ -1989,44 +2030,40 @@ const ItemComponent = React.forwardRef((_ref, ref) => {
1989
2030
  onKeyDown,
1990
2031
  onMouseEnter
1991
2032
  });
1992
- const isActive = value === focusedValue;
1993
- const renderActionIcon = iconType => {
1994
- switch (iconType) {
1995
- case 'add':
1996
- return React__namespace.default.createElement(SvgPlusStroke, null);
1997
- case 'next':
1998
- return React__namespace.default.createElement(SvgChevronRightStroke, null);
1999
- case 'previous':
2000
- return React__namespace.default.createElement(SvgChevronLeftStroke, null);
2001
- default:
2002
- return React__namespace.default.createElement(SvgCheckLgStroke, null);
2003
- }
2004
- };
2005
2033
  const contextValue = React.useMemo(() => ({
2006
2034
  isDisabled,
2007
2035
  type
2008
2036
  }), [isDisabled, type]);
2009
- return React__namespace.default.createElement(ItemContext.Provider, {
2010
- value: contextValue
2011
- }, React__namespace.default.createElement(StyledItem, Object.assign({
2012
- $type: type,
2013
- $isCompact: isCompact,
2014
- $isActive: isActive
2015
- }, props, itemProps, {
2016
- ref: reactMergeRefs.mergeRefs([_itemRef, ref])
2017
- }), React__namespace.default.createElement(StyledItemTypeIcon, {
2037
+ const itemChildren = React__namespace.default.createElement(React__namespace.default.Fragment, null, React__namespace.default.createElement(StyledItemTypeIcon, {
2018
2038
  $isCompact: isCompact,
2019
2039
  $type: type
2020
2040
  }, renderActionIcon(type)), !!icon && React__namespace.default.createElement(StyledItemIcon, {
2021
2041
  $isDisabled: isDisabled,
2022
2042
  $type: type
2023
- }, icon), React__namespace.default.createElement(StyledItemContent, null, children || label)));
2043
+ }, icon), React__namespace.default.createElement(StyledItemContent, null, children || label));
2044
+ const menuItemProps = {
2045
+ ...other,
2046
+ ...itemProps,
2047
+ ref: reactMergeRefs.mergeRefs([_itemRef, ref])
2048
+ };
2049
+ return React__namespace.default.createElement(ItemContext.Provider, {
2050
+ value: contextValue
2051
+ }, anchorProps ? React__namespace.default.createElement("li", menuItemProps, React__namespace.default.createElement(StyledItemAnchor, Object.assign({
2052
+ $isCompact: isCompact,
2053
+ $isActive: value === focusedValue
2054
+ }, anchorProps), itemChildren)) : React__namespace.default.createElement(StyledItem, Object.assign({
2055
+ $isCompact: isCompact,
2056
+ $isActive: value === focusedValue,
2057
+ $type: type
2058
+ }, menuItemProps), itemChildren));
2024
2059
  });
2025
2060
  ItemComponent.displayName = 'Item';
2026
2061
  ItemComponent.propTypes = {
2062
+ href: PropTypes__default.default.string,
2027
2063
  icon: PropTypes__default.default.any,
2028
2064
  isDisabled: PropTypes__default.default.bool,
2029
2065
  isSelected: PropTypes__default.default.bool,
2066
+ isExternal: PropTypes__default.default.bool,
2030
2067
  label: PropTypes__default.default.string,
2031
2068
  name: PropTypes__default.default.string,
2032
2069
  type: PropTypes__default.default.oneOf(OPTION_TYPE),
@@ -8,6 +8,7 @@ import { IUseMenuReturnValue } from '@zendeskgarden/container-menu';
8
8
  export declare const MenuContext: import("react").Context<{
9
9
  isCompact?: boolean;
10
10
  focusedValue?: string | null;
11
+ getAnchorProps: IUseMenuReturnValue["getAnchorProps"];
11
12
  getItemGroupProps: IUseMenuReturnValue["getItemGroupProps"];
12
13
  getItemProps: IUseMenuReturnValue["getItemProps"];
13
14
  getSeparatorProps: IUseMenuReturnValue["getSeparatorProps"];
@@ -15,6 +16,7 @@ export declare const MenuContext: import("react").Context<{
15
16
  declare const useMenuContext: () => {
16
17
  isCompact?: boolean;
17
18
  focusedValue?: string | null;
19
+ getAnchorProps: IUseMenuReturnValue["getAnchorProps"];
18
20
  getItemGroupProps: IUseMenuReturnValue["getItemGroupProps"];
19
21
  getItemProps: IUseMenuReturnValue["getItemProps"];
20
22
  getSeparatorProps: IUseMenuReturnValue["getSeparatorProps"];