@viasat/beam-react 2.29.1 → 2.36.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.
Files changed (170) hide show
  1. package/assets/ActionList.css +1 -1
  2. package/assets/Avatar.css +1 -1
  3. package/assets/Badge.css +1 -1
  4. package/assets/Button.css +1 -1
  5. package/assets/Checkbox.css +1 -1
  6. package/assets/Chip.css +1 -1
  7. package/assets/ChipGroup.css +1 -1
  8. package/assets/CloseButton.css +1 -1
  9. package/assets/DateField.css +1 -0
  10. package/assets/EmptyState.css +1 -1
  11. package/assets/{floatingui.css → FloatingUI.css} +1 -1
  12. package/assets/InputChoiceGroup.css +1 -1
  13. package/assets/Link.css +1 -1
  14. package/assets/NativeSelect.css +1 -1
  15. package/assets/Pagination.css +1 -1
  16. package/assets/ProgressBar.css +1 -1
  17. package/assets/RadioButton.css +1 -1
  18. package/assets/Search.css +1 -1
  19. package/assets/SpinnerWrap.css +1 -1
  20. package/assets/Switch.css +1 -1
  21. package/assets/TextArea.css +1 -1
  22. package/assets/TextField.css +1 -1
  23. package/assets/card.css +1 -1
  24. package/assets/combobox.css +1 -1
  25. package/assets/fileUpload.css +1 -1
  26. package/assets/header.css +1 -1
  27. package/assets/index.css +1 -1
  28. package/assets/panel.css +1 -1
  29. package/assets/segmentedControl.css +1 -1
  30. package/assets/slider.css +1 -1
  31. package/assets/stepper.css +1 -1
  32. package/chunks/DateField.Segment.7oCeBSNo.js +1 -0
  33. package/chunks/DateField.Segment.DbjGMAPP.js +99 -0
  34. package/chunks/FloatingUI.arrow.DFhYQv_F.js +1 -0
  35. package/chunks/FloatingUI.arrow.tN5_IctZ.js +27 -0
  36. package/chunks/panel.module.BVmRxZHo.js +1 -0
  37. package/chunks/{panel.module.BblnuBjO.js → panel.module.CnHWv4EZ.js} +1 -3
  38. package/index.cjs.js +1 -1
  39. package/index.es.js +35 -33
  40. package/lib/ActionList/ActionList.Group.d.ts +1 -1
  41. package/lib/Autocomplete/Autocomplete.cjs.js +1 -1
  42. package/lib/Autocomplete/Autocomplete.d.ts +5 -5
  43. package/lib/Autocomplete/Autocomplete.es.js +296 -268
  44. package/lib/Autocomplete/AutocompleteDropdown.cjs.js +1 -1
  45. package/lib/Autocomplete/AutocompleteDropdown.es.js +15 -12
  46. package/lib/FloatingUI/FloatingUI.arrow.cjs.js +1 -1
  47. package/lib/FloatingUI/FloatingUI.arrow.es.js +6 -17
  48. package/lib/FloatingUI/FloatingUI.content.cjs.js +1 -1
  49. package/lib/FloatingUI/FloatingUI.content.es.js +17 -18
  50. package/lib/Search/SearchDropdown.cjs.js +1 -1
  51. package/lib/Search/SearchDropdown.es.js +1 -1
  52. package/lib/Select/Select.cjs.js +1 -1
  53. package/lib/Select/Select.d.ts +3 -2
  54. package/lib/Select/Select.es.js +208 -195
  55. package/lib/Select/SelectDropdown.cjs.js +1 -1
  56. package/lib/Select/SelectDropdown.es.js +15 -12
  57. package/lib/_Options/Option.cjs.js +1 -1
  58. package/lib/_Options/Option.context.cjs.js +1 -1
  59. package/lib/_Options/Option.context.d.ts +31 -13
  60. package/lib/_Options/Option.context.es.js +133 -88
  61. package/lib/_Options/Option.es.js +23 -21
  62. package/lib/_Options/Option.types.d.ts +23 -0
  63. package/lib/_Options/OptionGroup.cjs.js +1 -0
  64. package/lib/_Options/OptionGroup.context.cjs.js +1 -0
  65. package/lib/_Options/OptionGroup.context.d.ts +6 -0
  66. package/lib/_Options/OptionGroup.context.es.js +6 -0
  67. package/lib/_Options/OptionGroup.d.ts +3 -0
  68. package/lib/_Options/OptionGroup.es.js +22 -0
  69. package/lib/_Options/getLastVisibleStructureIndex.cjs.js +1 -0
  70. package/lib/_Options/getLastVisibleStructureIndex.d.ts +15 -0
  71. package/lib/_Options/getLastVisibleStructureIndex.es.js +14 -0
  72. package/lib/_Options/index.cjs.js +1 -1
  73. package/lib/_Options/index.d.ts +4 -0
  74. package/lib/_Options/index.es.js +13 -4
  75. package/lib/_Options/useRenderOption.cjs.js +1 -0
  76. package/lib/_Options/useRenderOption.d.ts +30 -0
  77. package/lib/_Options/useRenderOption.es.js +43 -0
  78. package/lib/index.cjs.js +1 -1
  79. package/lib/index.d.ts +1 -0
  80. package/lib/index.es.js +27 -25
  81. package/lib/wip/DateField/DateField.Segment.cjs.js +1 -0
  82. package/lib/wip/DateField/DateField.Segment.d.ts +2 -0
  83. package/lib/wip/DateField/DateField.Segment.es.js +8 -0
  84. package/lib/wip/DateField/DateField.Segments.cjs.js +1 -0
  85. package/lib/wip/DateField/DateField.Segments.d.ts +17 -0
  86. package/lib/wip/DateField/DateField.Segments.es.js +61 -0
  87. package/lib/wip/DateField/DateField.cjs.js +1 -0
  88. package/lib/wip/DateField/DateField.d.ts +3 -0
  89. package/lib/wip/DateField/DateField.es.js +191 -0
  90. package/lib/wip/DateField/DateField.types.cjs.js +1 -0
  91. package/lib/wip/DateField/DateField.types.d.ts +118 -0
  92. package/lib/wip/DateField/DateField.types.es.js +1 -0
  93. package/lib/wip/DateField/DateField.utils.cjs.js +1 -0
  94. package/lib/wip/DateField/DateField.utils.d.ts +26 -0
  95. package/lib/wip/DateField/DateField.utils.es.js +45 -0
  96. package/lib/wip/DateField/DateField.validation.cjs.js +1 -0
  97. package/lib/wip/DateField/DateField.validation.d.ts +26 -0
  98. package/lib/wip/DateField/DateField.validation.es.js +24 -0
  99. package/lib/wip/DateField/index.cjs.js +1 -0
  100. package/lib/wip/DateField/index.d.ts +2 -0
  101. package/lib/wip/DateField/index.es.js +4 -0
  102. package/lib/wip/DateField/useDateFieldFocus.cjs.js +1 -0
  103. package/lib/wip/DateField/useDateFieldFocus.d.ts +23 -0
  104. package/lib/wip/DateField/useDateFieldFocus.es.js +65 -0
  105. package/lib/wip/DateField/useDateFieldForm.cjs.js +1 -0
  106. package/lib/wip/DateField/useDateFieldForm.d.ts +32 -0
  107. package/lib/wip/DateField/useDateFieldForm.es.js +51 -0
  108. package/lib/wip/DateField/useDateFieldSegments.cjs.js +1 -0
  109. package/lib/wip/DateField/useDateFieldSegments.d.ts +7 -0
  110. package/lib/wip/DateField/useDateFieldSegments.es.js +13 -0
  111. package/lib/wip/DateField/useDateFieldValidity.cjs.js +1 -0
  112. package/lib/wip/DateField/useDateFieldValidity.d.ts +23 -0
  113. package/lib/wip/DateField/useDateFieldValidity.es.js +19 -0
  114. package/lib/wip/DateField/useDateFieldValue.cjs.js +1 -0
  115. package/lib/wip/DateField/useDateFieldValue.d.ts +19 -0
  116. package/lib/wip/DateField/useDateFieldValue.es.js +62 -0
  117. package/lib/wip/DateField/useInvalidState.cjs.js +1 -0
  118. package/lib/wip/DateField/useInvalidState.d.ts +13 -0
  119. package/lib/wip/DateField/useInvalidState.es.js +8 -0
  120. package/lib/wip/Panel/Footer/Panel.Footer.Actions.cjs.js +1 -1
  121. package/lib/wip/Panel/Footer/Panel.Footer.Actions.es.js +1 -1
  122. package/lib/wip/Panel/Footer/Panel.Footer.cjs.js +1 -1
  123. package/lib/wip/Panel/Footer/Panel.Footer.es.js +1 -1
  124. package/lib/wip/Panel/Header/Panel.Header.ContentAfter.cjs.js +1 -1
  125. package/lib/wip/Panel/Header/Panel.Header.ContentAfter.es.js +1 -1
  126. package/lib/wip/Panel/Header/Panel.Header.ContentBefore.cjs.js +1 -1
  127. package/lib/wip/Panel/Header/Panel.Header.ContentBefore.es.js +1 -1
  128. package/lib/wip/Panel/Header/Panel.Header.Description.cjs.js +1 -1
  129. package/lib/wip/Panel/Header/Panel.Header.Description.es.js +1 -1
  130. package/lib/wip/Panel/Header/Panel.Header.Heading.cjs.js +1 -1
  131. package/lib/wip/Panel/Header/Panel.Header.Heading.es.js +1 -1
  132. package/lib/wip/Panel/Header/Panel.Header.Row.cjs.js +1 -1
  133. package/lib/wip/Panel/Header/Panel.Header.Row.es.js +1 -1
  134. package/lib/wip/Panel/Header/Panel.Header.Subheader.cjs.js +1 -1
  135. package/lib/wip/Panel/Header/Panel.Header.Subheader.es.js +1 -1
  136. package/lib/wip/Panel/Header/Panel.Header.cjs.js +1 -1
  137. package/lib/wip/Panel/Header/Panel.Header.es.js +1 -1
  138. package/lib/wip/Panel/Panel.Body.cjs.js +1 -1
  139. package/lib/wip/Panel/Panel.Body.es.js +1 -1
  140. package/lib/wip/Panel/Panel.Inline.cjs.js +1 -1
  141. package/lib/wip/Panel/Panel.Inline.d.ts +5 -1
  142. package/lib/wip/Panel/Panel.Inline.es.js +54 -47
  143. package/lib/wip/Panel/Panel.Overlay.cjs.js +1 -1
  144. package/lib/wip/Panel/Panel.Overlay.d.ts +20 -2
  145. package/lib/wip/Panel/Panel.Overlay.es.js +117 -80
  146. package/lib/wip/Panel/Panel.ResizeHandle.cjs.js +1 -1
  147. package/lib/wip/Panel/Panel.ResizeHandle.es.js +1 -1
  148. package/lib/wip/Panel/Panel.cjs.js +1 -1
  149. package/lib/wip/Panel/Panel.d.ts +1 -1
  150. package/lib/wip/Panel/Panel.es.js +139 -100
  151. package/lib/wip/Panel/Panel.helpers.cjs.js +1 -1
  152. package/lib/wip/Panel/Panel.helpers.d.ts +2 -1
  153. package/lib/wip/Panel/Panel.helpers.es.js +37 -35
  154. package/lib/wip/Panel/Panel.types.d.ts +64 -10
  155. package/lib/wip/Panel/Panel.useResize.cjs.js +1 -1
  156. package/lib/wip/Panel/Panel.useResize.d.ts +3 -1
  157. package/lib/wip/Panel/Panel.useResize.es.js +34 -30
  158. package/package.json +6 -6
  159. package/utils/hooks/index.cjs.js +1 -1
  160. package/utils/hooks/index.d.ts +1 -0
  161. package/utils/hooks/index.es.js +12 -10
  162. package/utils/hooks/useElementResize.cjs.js +1 -1
  163. package/utils/hooks/useElementResize.d.ts +1 -1
  164. package/utils/hooks/useElementResize.es.js +33 -33
  165. package/utils/hooks/usePrevious.cjs.js +1 -0
  166. package/utils/hooks/usePrevious.d.ts +5 -0
  167. package/utils/hooks/usePrevious.es.js +10 -0
  168. package/chunks/floatingui.module.BcBFebz0.js +0 -10
  169. package/chunks/floatingui.module.D3Aw_aYe.js +0 -1
  170. package/chunks/panel.module.CVyUzyCZ.js +0 -1
package/index.es.js CHANGED
@@ -5,19 +5,19 @@ import { Alert as a } from "./lib/Alert/Alert.es.js";
5
5
  import { Autocomplete as i } from "./lib/Autocomplete/Autocomplete.es.js";
6
6
  import { Avatar as n } from "./lib/Avatar/index.es.js";
7
7
  import { CloseButton as u } from "./lib/CloseButton/CloseButton.es.js";
8
- import { Button as T, ButtonIconWrap as l } from "./lib/Button/Button.es.js";
8
+ import { Button as l, ButtonIconWrap as T } from "./lib/Button/Button.es.js";
9
9
  import { Dialog as c } from "./lib/Dialog/Dialog.es.js";
10
10
  import { Breadcrumb as L } from "./lib/Breadcrumbs/Breadcrumbs.es.js";
11
11
  import { B as C } from "./chunks/BreadcrumbsItem.6c7NEqgi.js";
12
12
  import { EmptyState as N } from "./lib/EmptyState/EmptyState.es.js";
13
13
  import { Badge as _ } from "./lib/Badge/Badge.es.js";
14
- import { BadgeDot as H } from "./lib/BadgeDot/BadgeDot.es.js";
15
- import { Box as h } from "./lib/Box/Box.es.js";
14
+ import { BadgeDot as D } from "./lib/BadgeDot/BadgeDot.es.js";
15
+ import { Box as O } from "./lib/Box/Box.es.js";
16
16
  import { Checkbox as E } from "./lib/Checkbox/Checkbox.es.js";
17
17
  import { Chip as G } from "./lib/Chips/Chip.es.js";
18
18
  import { ChipGroup as M } from "./lib/Chips/ChipGroup.es.js";
19
19
  import { Divider as y } from "./lib/Divider/Divider.es.js";
20
- import { default as F } from "./lib/FileUpload/FileUpload.es.js";
20
+ import { default as k } from "./lib/FileUpload/FileUpload.es.js";
21
21
  import { Flag as W } from "./lib/Flag/Flag.es.js";
22
22
  import { Form as K } from "./lib/Form/Form.es.js";
23
23
  import { H as Q } from "./chunks/form.context.D7b4066_.js";
@@ -31,13 +31,13 @@ import { List as xo } from "./lib/List/List.es.js";
31
31
  import { ActionList as fo } from "./lib/ActionList/ActionList.es.js";
32
32
  import { Logo as no } from "./lib/Logo/Logo.es.js";
33
33
  import { Menu as uo } from "./lib/Menu/Menu.es.js";
34
- import { useMenuContext as To } from "./lib/Menu/Menu.context.es.js";
34
+ import { useMenuContext as lo } from "./lib/Menu/Menu.context.es.js";
35
35
  import { NativeSelect as So } from "./lib/NativeSelect/NativeSelect.es.js";
36
36
  import { Pagination as Bo } from "./lib/Pagination/Pagination.es.js";
37
37
  import { ProgressBar as vo } from "./lib/ProgressBar/ProgressBar.es.js";
38
38
  import { RadioButton as Po } from "./lib/RadioButton/RadioButton.es.js";
39
- import { DRAWER_LAYOUT as go, HIDDEN_LAYOUT as _o, LOCAL_STORAGE_SIDE_NAV_WIDTH_VAR_NAME as Ro, NO_LAYOUT as Ho, OPAQUE_BACKDROP as Oo, RAIL_LAYOUT as ho, Root as Do, SideNav as Eo, SideNavBackdrops as Io, SideNavClosedLayouts as Go, SideNavOpenLayouts as bo, TRANSPARENT_BACKDROP as Mo } from "./lib/SideNav/SideNav.es.js";
40
- import { SideNavProvider as yo, useSideNavContext as ko } from "./lib/SideNav/SideNavContext.es.js";
39
+ import { DRAWER_LAYOUT as go, HIDDEN_LAYOUT as _o, LOCAL_STORAGE_SIDE_NAV_WIDTH_VAR_NAME as Ro, NO_LAYOUT as Do, OPAQUE_BACKDROP as Ho, RAIL_LAYOUT as Oo, Root as ho, SideNav as Eo, SideNavBackdrops as Io, SideNavClosedLayouts as Go, SideNavOpenLayouts as bo, TRANSPARENT_BACKDROP as Mo } from "./lib/SideNav/SideNav.es.js";
40
+ import { SideNavProvider as yo, useSideNavContext as Fo } from "./lib/SideNav/SideNavContext.es.js";
41
41
  import { SegmentedControl as Yo } from "./lib/SegmentedControl/SegmentedControl.es.js";
42
42
  import { Select as wo } from "./lib/Select/Select.es.js";
43
43
  import { Spinner as Vo } from "./lib/Spinner/Spinner.es.js";
@@ -51,25 +51,26 @@ import { TextArea as xr } from "./lib/TextArea/TextArea.es.js";
51
51
  import { TextField as fr } from "./lib/TextField/TextField.es.js";
52
52
  import { Toast as dr } from "./lib/Toasts/Toast.es.js";
53
53
  import { T as sr, u as ur } from "./chunks/ToastContext.CYGy7l7R.js";
54
- import { ToastContainer as Tr } from "./lib/Toasts/ToastContainer.es.js";
54
+ import { ToastContainer as lr } from "./lib/Toasts/ToastContainer.es.js";
55
55
  import { Tooltip as Sr, TooltipIconTrigger as cr } from "./lib/Tooltip/Tooltip.es.js";
56
56
  import { Header as Lr, InternalHeader as vr } from "./lib/Header/Header.es.js";
57
57
  import { HeaderMasthead as Pr } from "./lib/Header/HeaderMasthead.es.js";
58
58
  import { HeaderActionGroup as gr } from "./lib/Header/HeaderActionGroup.es.js";
59
59
  import { HeaderNavigation as Rr } from "./lib/Header/HeaderNavigation.es.js";
60
- import { PortalContext as Or, usePortal as hr } from "./lib/PortalProvider/PortalContext.es.js";
60
+ import { PortalContext as Hr, usePortal as Or } from "./lib/PortalProvider/PortalContext.es.js";
61
61
  import { PortalProvider as Er } from "./lib/PortalProvider/PortalProvider.es.js";
62
62
  import { Popover as Gr } from "./lib/Popover/Popover.es.js";
63
63
  import { PageHeader as Mr } from "./lib/PageHeader/PageHeader.es.js";
64
64
  import { PageLayout as yr } from "./lib/PageLayout/PageLayout.es.js";
65
- import { Slider as Fr } from "./lib/Slider/Slider.es.js";
65
+ import { Slider as kr } from "./lib/Slider/Slider.es.js";
66
66
  import { Card as Wr } from "./lib/Card/Card.es.js";
67
67
  import { CardGroup as Kr } from "./lib/Card/CardGroup.es.js";
68
68
  import { Search as Qr } from "./lib/Search/Search.es.js";
69
- import { ALL_THEMES as qr, BeamThemeProvider as zr, fromAttr as Jr, toAttr as Xr, useBeamTheme as Zr } from "./utils/theming/useBeamTheme.es.js";
70
- import { v as oe } from "./chunks/useFormValidator.hook.CSmddwEt.js";
69
+ import { DateField as qr } from "./lib/wip/DateField/DateField.es.js";
70
+ import { ALL_THEMES as Jr, BeamThemeProvider as Xr, fromAttr as Zr, toAttr as $r, useBeamTheme as oe } from "./utils/theming/useBeamTheme.es.js";
71
+ import { v as ee } from "./chunks/useFormValidator.hook.CSmddwEt.js";
71
72
  export {
72
- qr as ALL_THEMES,
73
+ Jr as ALL_THEMES,
73
74
  t as Accordion,
74
75
  m as AccordionGroup,
75
76
  fo as ActionList,
@@ -77,13 +78,13 @@ export {
77
78
  i as Autocomplete,
78
79
  n as Avatar,
79
80
  _ as Badge,
80
- H as BadgeDot,
81
- zr as BeamThemeProvider,
82
- h as Box,
81
+ D as BadgeDot,
82
+ Xr as BeamThemeProvider,
83
+ O as Box,
83
84
  L as Breadcrumb,
84
85
  C as BreadcrumbItem,
85
- T as Button,
86
- l as ButtonIconWrap,
86
+ l as Button,
87
+ T as ButtonIconWrap,
87
88
  Wr as Card,
88
89
  Kr as CardGroup,
89
90
  E as Checkbox,
@@ -92,10 +93,11 @@ export {
92
93
  M as ChipGroup,
93
94
  u as CloseButton,
94
95
  go as DRAWER_LAYOUT,
96
+ qr as DateField,
95
97
  c as Dialog,
96
98
  y as Divider,
97
99
  N as EmptyState,
98
- F as FileUpload,
100
+ k as FileUpload,
99
101
  W as Flag,
100
102
  K as Form,
101
103
  _o as HIDDEN_LAYOUT,
@@ -112,20 +114,20 @@ export {
112
114
  xo as List,
113
115
  no as Logo,
114
116
  uo as Menu,
115
- Ho as NO_LAYOUT,
117
+ Do as NO_LAYOUT,
116
118
  So as NativeSelect,
117
- Oo as OPAQUE_BACKDROP,
119
+ Ho as OPAQUE_BACKDROP,
118
120
  Mr as PageHeader,
119
121
  yr as PageLayout,
120
122
  Bo as Pagination,
121
123
  Gr as Popover,
122
- Or as PortalContext,
124
+ Hr as PortalContext,
123
125
  Er as PortalProvider,
124
126
  vo as ProgressBar,
125
- ho as RAIL_LAYOUT,
127
+ Oo as RAIL_LAYOUT,
126
128
  Po as RadioButton,
127
129
  oo as RadioButtonGroup,
128
- Do as Root,
130
+ ho as Root,
129
131
  Qr as Search,
130
132
  Yo as SegmentedControl,
131
133
  wo as Select,
@@ -134,7 +136,7 @@ export {
134
136
  Go as SideNavClosedLayouts,
135
137
  bo as SideNavOpenLayouts,
136
138
  yo as SideNavProvider,
137
- Fr as Slider,
139
+ kr as Slider,
138
140
  Vo as Spinner,
139
141
  jo as StateLayer,
140
142
  zo as Stepper,
@@ -146,18 +148,18 @@ export {
146
148
  xr as TextArea,
147
149
  fr as TextField,
148
150
  dr as Toast,
149
- Tr as ToastContainer,
151
+ lr as ToastContainer,
150
152
  sr as ToastProvider,
151
153
  Sr as Tooltip,
152
154
  cr as TooltipIconTrigger,
153
- Jr as fromAttr,
155
+ Zr as fromAttr,
154
156
  Xo as processMetadata,
155
- Xr as toAttr,
157
+ $r as toAttr,
156
158
  Zo as useBeamStepper,
157
- Zr as useBeamTheme,
158
- To as useMenuContext,
159
- hr as usePortal,
160
- ko as useSideNavContext,
159
+ oe as useBeamTheme,
160
+ lo as useMenuContext,
161
+ Or as usePortal,
162
+ Fo as useSideNavContext,
161
163
  ur as useToast,
162
- oe as validators
164
+ ee as validators
163
165
  };
@@ -14,7 +14,7 @@ export interface ActionListGroupProps extends React.ComponentPropsWithoutRef<'di
14
14
  */
15
15
  indent?: boolean | number;
16
16
  /**
17
- * Add a divider between groups
17
+ * Add a divider at the bottom of this group
18
18
  *
19
19
  * @default false
20
20
  */
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),n=require("react"),Ue=require("../../chunks/classNames.DAeKwerT.js"),Xe=require("../../chunks/constants.hwjHOsvT.js"),i=require("../../chunks/combobox.module.BRWGQi7s.js"),V=require("clsx"),E=require("../../chunks/form.context.hesWPMlU.js"),Ye=require("../Form/contexts/label.context.cjs.js"),Ze=require("../Form/contexts/helperText.context.cjs.js"),L=require("../ActionList/ActionList.cjs.js"),H=require("../_Options/Option.context.cjs.js"),et=require("../_Options/Option.cjs.js"),tt=require("../_Options/useSelectValue.cjs.js"),st=require("./useAutocompleteDropdown.cjs.js"),lt=require("./AutocompleteDropdown.cjs.js"),ot=require("./useAutocompleteChips.cjs.js"),it=require("./useAutocompleteKeyboardManager.cjs.js"),rt=require("./utils/filterOptions.cjs.js"),nt=require("./useClearSelection.cjs.js"),ct=require("./AutocompleteField.cjs.js"),at=require("./useAutocompleteA11y.cjs.js"),ut=require("./useAutocompleteInteractions.cjs.js"),dt=require("../_Options/strategies/SelectionStrategy.cjs.js"),pt=require("../_Options/OptionChips.cjs.js"),{baseClassNamePrefix:mt,subElementClassPrefix:$,classModifierPrefix:c}=Ue.getBEMClassNames("combobox"),bt=n.forwardRef(({theme:q,width:K,error:u,children:G,label:W=null,contentBefore:z,contentAfter:J,fluid:Q=!1,helperText:B=null,validationRules:U=[],className:X,hideRequiredMarker:Y=!1,disabled:Z=!1,readOnly:ee=!1,required:te=!1,placeholder:se="",onChange:x,noResultsText:le="No results found",optionFilter:v,hideChevron:oe=!1,..._},ie)=>{const{id:D,name:re,"aria-describedby":ne,multiple:s=!1,clearable:ce=s,...ae}=_,{showErrors:ue,isInvalid:de,errorShown:pe,disabled:l,readOnly:r,required:C}=E.useFormField({name:re,validationRules:U,disabledProp:Z,readOnlyProp:ee,requiredProp:te}),{aria:y,ids:me}=at.default({helperText:B,externalDescribedBy:ne,error:u,errorShown:pe,invalid:!!u||de}),{helperTextId:be,errorId:xe,validationErrorsId:_e,labelId:g}=me,ye=!!(u!=null&&u.length),fe=n.useCallback(t=>{x==null||x(t)},[x]),{value:d,setValue:F,selectProps:he,handleBlur:Ae,singleValue:P}=tt.useSelectValue({onChange:fe,..._},ie),[p,S]=n.useState(null),I=!p&&(!d||Array.isArray(d)&&!d.length),{optionsContext:Oe,optionIds:a,optionsProps:m,selectedOptionsProps:j,deselectOptionValue:w,getOptionByIndex:qe}=H.useCreateOptionsContext(d,F,s),ve=n.useMemo(()=>{if(!P)return;const t=a.map(e=>m.get(e)).findIndex(e=>(e==null?void 0:e.value)===P);return t!==-1?t:void 0},[a,m,P]),M=n.useRef(null),{getFieldProps:Ce,getInputProps:ge,dropdownProps:Pe,refs:Se,open:R,setOpen:f,status:Ie,setDisplayActiveIndex:je}=st.useAutocompleteDropdown({disabled:l,readOnly:r,lastSelectedOptionIndex:ve,fieldRef:M}),h=Se.domReference,Me=V(i.styles[mt],q&&Xe.themeClassName(q),Q&&i.styles[`${c}fluid`],y.invalid&&i.styles[`${c}error`],l&&i.styles[`${c}disabled`],r&&i.styles[`${c}read-only`],I&&i.styles[`${c}empty`],s&&i.styles[`${c}multiple`],i.styles[`${c}autocomplete`],i.styles[`${c}dropdown-${Ie}`],X),{canClear:Ne,handleClear:$e}=nt.default({multiple:s,clearable:ce,isEmpty:I,disabled:l,readOnly:r,setValue:F,setSearchText:S,inputRef:h,setOpen:f}),{chipGroupProps:Be,handleBlur:De,selectedChip:Fe,setSelectedChip:we,enabled:Re,selectPreviousChip:ke,selectNextChip:Te,options:Ve,deselectOptionValue:Ee}=ot.useAutocompleteChips({multiple:s,disabled:l,readOnly:r,open:R,setOpen:f,options:j,deselectOptionValue:w,fieldRef:M,inputRef:h}),{getKeyboardProps:k}=it.useAutocompleteKeyboardManager({multiple:s,disabled:l,readOnly:r,open:R,setOpen:f,inputRef:h,fieldRef:M,chips:{enabled:Re,selectedChip:Fe,setSelectedChip:we,selectPreviousChip:ke,selectNextChip:Te,options:Ve,deselectOptionValue:Ee}}),T=n.useMemo(()=>dt.createSelectionStrategy(s),[s]),{handleBlur:Le,handleFocus:He,handleItemClick:Ke}=ut.useAutocompleteInteractions({selectionStrategy:T,selectedOptions:j,inputRef:h,blurSelect:Ae,blurChips:De,setSearchText:S,setOpen:f,searchText:p,getOptionByIndex:qe,setDisplayActiveIndex:je}),N=n.useMemo(()=>a.reduce((t,e)=>{const b=m.get(e);if(!b)return t;const A=v?v(b,p):rt.default(b,p);return t[e]=A,t},{}),[a,m,p,v]),Ge=n.useMemo(()=>a.every(t=>N[t]),[a,N]),{ref:We,...ze}=k(Ce()),Je=k(ge());return o.jsxs(H.OptionsProvider,{value:Oe,children:[o.jsxs("div",{className:Me,style:{maxWidth:K},children:[o.jsx(Ye.LabelProvider,{ctxHtmlFor:D,ctxDisabled:l,ctxRequired:C&&!Y,ctxId:g,children:W}),o.jsx(ct.AutocompleteField,{id:D,disabled:l,readOnly:r,required:C,contentBefore:z,contentAfter:J,chips:o.jsx(pt.OptionChips,{multiple:s,disabled:l,readOnly:r,selectedOptions:j,deselectOptionValue:w,chipGroupProps:Be,input:o.jsx("input",{className:i.styles[`${$}field__input`],"aria-readonly":r,"aria-disabled":l,"aria-required":C,"aria-invalid":y.invalid,"aria-errormessage":y.errorMessage||void 0,"aria-labelledby":!_.ariaLabel&&g?g:void 0,"aria-label":_.ariaLabel,"aria-describedby":y.describedBy,placeholder:s&&!I?"":se,onChange:t=>S(t.target.value),disabled:l,readOnly:r,autoComplete:"off",tabIndex:l?-1:0,autoFocus:!1,...Je})}),hasClearButton:Ne,hideChevron:oe,onClear:$e,onBlur:Le,onFocusCapture:He,...ze,ref:We}),o.jsxs(Ze.HelperTextProvider,{ctxId:be,ctxDisabled:l,children:[B,ye&&o.jsx(E.HelperText,{id:xe,appearance:"negative",children:u})]}),ue(_e)]}),o.jsxs("select",{...ae,...he,hidden:!0,multiple:s,children:[o.jsx("option",{value:"",children:"empty"}),G]}),o.jsx(lt.AutocompleteDropdown,{...Pe,className:i.styles[`${$}dropdown`],disabled:l,readOnly:r,theme:q,multiple:s,onItemClick:Ke,children:o.jsx(L.ActionList,{role:"listbox",noResults:Ge?le:void 0,children:a.map(t=>{const e=m.get(t);if(!e)return null;const b=T.isSelected(e.value,d),A=N[t],Qe=A||e.disabled;return n.createElement(L.ActionList.Item,{...e,className:V(i.styles[`${$}option`],e.className),disabled:Qe,hidden:A,defaultSelected:b,key:`opt-${e.value??e.label}`,kind:s?"checkbox":"singleCheckMark",role:"option"})})})})]})}),O=bt;O.Option=et.Option;O.displayName="Autocomplete";exports.Autocomplete=O;exports.default=O;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),lt=require("../../chunks/classNames.DAeKwerT.js"),rt=require("../../chunks/constants.hwjHOsvT.js"),i=require("../../chunks/combobox.module.BRWGQi7s.js"),nt=require("clsx"),c=require("react"),J=require("../../chunks/form.context.hesWPMlU.js"),ct=require("../Form/contexts/label.context.cjs.js"),at=require("../Form/contexts/helperText.context.cjs.js"),Q=require("../ActionList/ActionList.cjs.js"),U=require("../_Options/Option.context.cjs.js"),ut=require("../_Options/Option.cjs.js"),dt=require("../_Options/OptionGroup.cjs.js");require("../_Options/OptionGroup.context.cjs.js");const pt=require("../_Options/getLastVisibleStructureIndex.cjs.js"),bt=require("../_Options/useRenderOption.cjs.js"),mt=require("../_Options/useSelectValue.cjs.js"),_t=require("./useAutocompleteDropdown.cjs.js"),xt=require("./AutocompleteDropdown.cjs.js"),ht=require("./useAutocompleteChips.cjs.js"),ft=require("./useAutocompleteKeyboardManager.cjs.js"),yt=require("./utils/filterOptions.cjs.js"),Ot=require("./useClearSelection.cjs.js"),gt=require("./AutocompleteField.cjs.js"),At=require("./useAutocompleteA11y.cjs.js"),qt=require("./useAutocompleteInteractions.cjs.js"),vt=require("../_Options/strategies/SelectionStrategy.cjs.js"),Ct=require("../_Options/OptionChips.cjs.js"),{baseClassNamePrefix:It,subElementClassPrefix:D,classModifierPrefix:a}=lt.getBEMClassNames("combobox"),Pt=c.forwardRef(({theme:q,width:X,error:d,children:Y,label:Z=null,contentBefore:ee,contentAfter:te,fluid:se=!1,helperText:F=null,validationRules:oe=[],className:ie,hideRequiredMarker:le=!1,disabled:re=!1,readOnly:ne=!1,required:ce=!1,placeholder:ae="",onChange:f,noResultsText:ue="No results found",optionFilter:v,hideChevron:de=!1,...y},pe)=>{const{id:L,name:be,"aria-describedby":me,multiple:t=!1,clearable:_e=t,...xe}=y,{showErrors:he,isInvalid:fe,errorShown:ye,disabled:s,readOnly:r,required:C}=J.useFormField({name:be,validationRules:oe,disabledProp:re,readOnlyProp:ne,requiredProp:ce}),{aria:O,ids:Oe}=At.default({helperText:F,externalDescribedBy:me,error:d,errorShown:ye,invalid:!!d||fe}),{helperTextId:ge,errorId:Ae,validationErrorsId:qe,labelId:I}=Oe,ve=!!(d!=null&&d.length),Ce=c.useCallback(e=>{f==null||f(e)},[f]),{value:b,setValue:G,selectProps:Ie,handleBlur:Pe,singleValue:P}=mt.useSelectValue({onChange:Ce,...y},pe),[m,S]=c.useState(null),j=!m&&(!b||Array.isArray(b)&&!b.length),{optionsContext:Se,optionIds:u,optionsProps:_,selectedOptionsProps:V,deselectOptionValue:T,getOptionByIndex:je,structureIds:M,groupsProps:w,optionGroupOf:E,optionIdsByGroup:B}=U.useCreateOptionsContext(b,G,t),Ve=c.useMemo(()=>{if(!P)return;const e=u.map(l=>_.get(l)).findIndex(l=>(l==null?void 0:l.value)===P);return e!==-1?e:void 0},[u,_,P]),N=c.useRef(null),{getFieldProps:Me,getInputProps:we,dropdownProps:Be,refs:Ne,open:H,setOpen:g,status:Re,setDisplayActiveIndex:$e}=_t.useAutocompleteDropdown({disabled:s,readOnly:r,lastSelectedOptionIndex:Ve,fieldRef:N}),A=Ne.domReference,De=nt(i.styles[It],q&&rt.themeClassName(q),se&&i.styles[`${a}fluid`],O.invalid&&i.styles[`${a}error`],s&&i.styles[`${a}disabled`],r&&i.styles[`${a}read-only`],j&&i.styles[`${a}empty`],t&&i.styles[`${a}multiple`],i.styles[`${a}autocomplete`],i.styles[`${a}dropdown-${Re}`],ie),{canClear:Fe,handleClear:Le}=Ot.default({multiple:t,clearable:_e,isEmpty:j,disabled:s,readOnly:r,setValue:G,setSearchText:S,inputRef:A,setOpen:g}),{chipGroupProps:Ge,handleBlur:Te,selectedChip:Ee,setSelectedChip:He,enabled:ke,selectPreviousChip:Ke,selectNextChip:We,options:ze,deselectOptionValue:Je}=ht.useAutocompleteChips({multiple:t,disabled:s,readOnly:r,open:H,setOpen:g,options:V,deselectOptionValue:T,fieldRef:N,inputRef:A}),{getKeyboardProps:k}=ft.useAutocompleteKeyboardManager({multiple:t,disabled:s,readOnly:r,open:H,setOpen:g,inputRef:A,fieldRef:N,chips:{enabled:ke,selectedChip:Ee,setSelectedChip:He,selectPreviousChip:Ke,selectNextChip:We,options:ze,deselectOptionValue:Je}}),K=c.useMemo(()=>vt.createSelectionStrategy(t),[t]),{handleBlur:Qe,handleFocus:Ue,handleItemClick:Xe}=qt.useAutocompleteInteractions({selectionStrategy:K,selectedOptions:V,inputRef:A,blurSelect:Pe,blurChips:Te,setSearchText:S,setOpen:g,searchText:m,getOptionByIndex:je,setDisplayActiveIndex:$e}),p=c.useMemo(()=>u.reduce((e,l)=>{const n=_.get(l);if(!n)return e;const x=E.get(l),z=x?w.get(x):void 0,R=v?v(n,m,z):yt.default(n,m);return e[l]=R,e},{}),[u,_,m,v,E,w]),Ye=c.useMemo(()=>u.length===0?!1:u.every(e=>p[e]),[u,p]),Ze=c.useMemo(()=>pt.getLastVisibleStructureIndex(M,B,p),[M,B,p]),W=bt.useRenderOption({optionsProps:_,selectionStrategy:K,value:b,multiple:t,optionClassName:i.styles[`${D}option`],filteredOptionsById:p}),{ref:et,...tt}=k(Me()),st=k(we());return o.jsxs(U.OptionsProvider,{value:Se,children:[o.jsxs("div",{className:De,style:{maxWidth:X},children:[o.jsx(ct.LabelProvider,{ctxHtmlFor:L,ctxDisabled:s,ctxRequired:C&&!le,ctxId:I,children:Z}),o.jsx(gt.AutocompleteField,{id:L,disabled:s,readOnly:r,required:C,contentBefore:ee,contentAfter:te,chips:o.jsx(Ct.OptionChips,{multiple:t,disabled:s,readOnly:r,selectedOptions:V,deselectOptionValue:T,chipGroupProps:Ge,input:o.jsx("input",{className:i.styles[`${D}field__input`],"aria-readonly":r,"aria-disabled":s,"aria-required":C,"aria-invalid":O.invalid,"aria-errormessage":O.errorMessage||void 0,"aria-labelledby":!y.ariaLabel&&I?I:void 0,"aria-label":y.ariaLabel,"aria-describedby":O.describedBy,placeholder:t&&!j?"":ae,onChange:e=>S(e.target.value),disabled:s,readOnly:r,autoComplete:"off",tabIndex:s?-1:0,autoFocus:!1,...st})}),hasClearButton:Fe,hideChevron:de,onClear:Le,onBlur:Qe,onFocusCapture:Ue,...tt,ref:et}),o.jsxs(at.HelperTextProvider,{ctxId:ge,ctxDisabled:s,children:[F,ve&&o.jsx(J.HelperText,{id:Ae,appearance:"negative",children:d})]}),he(qe)]}),o.jsxs("select",{...xe,...Ie,hidden:!0,multiple:t,children:[o.jsx("option",{value:"",children:"empty"}),Y]}),o.jsx(xt.AutocompleteDropdown,{...Be,className:i.styles[`${D}dropdown`],disabled:s,readOnly:r,theme:q,multiple:t,onItemClick:Xe,children:o.jsx(Q.ActionList,{role:"listbox",noResults:Ye?ue:void 0,children:M.map((e,l)=>{if(e.kind==="option")return W(e.id);const n=w.get(e.id);if(!n)return null;const x=B.get(e.id)??[],R=!x.some($=>!p[$]),ot=l===Ze,it=!!n.divider&&!ot;return o.jsx(Q.ActionList.Group,{heading:n.heading,divider:it,disabled:n.disabled,hidden:R,children:x.map($=>W($,n.disabled))},e.id)})})})]})}),h=Pt;h.Option=ut.Option;h.OptionGroup=dt.OptionGroup;h.displayName="Autocomplete";exports.Autocomplete=h;exports.default=h;
@@ -1,7 +1,7 @@
1
1
  import { FormValidator } from '@viasat/beam-shared/components/form';
2
2
  import { ThemeTypes } from '@viasat/beam-shared/utils';
3
3
  import { default as React, FC, PropsWithoutRef, ReactNode } from 'react';
4
- import { Option, OptionProps } from '../_Options';
4
+ import { Option, OptionGroup, OptionGroupProps, OptionProps } from '../_Options';
5
5
  export interface AutocompleteProps extends React.ComponentPropsWithRef<'select'> {
6
6
  /**
7
7
  * Specify HelperText for Autocomplete
@@ -78,7 +78,7 @@ export interface AutocompleteProps extends React.ComponentPropsWithRef<'select'>
78
78
  */
79
79
  contentAfter?: ReactNode;
80
80
  /**
81
- * Add `Autocomplete.Option` components as children
81
+ * Add any combination of `Autocomplete.Option` and `Autocomplete.OptionGroup` components as children
82
82
  */
83
83
  children: ReactNode;
84
84
  /**
@@ -102,13 +102,13 @@ export interface AutocompleteProps extends React.ComponentPropsWithRef<'select'>
102
102
  */
103
103
  hideChevron?: boolean;
104
104
  /**
105
- * Provide a custom option filtering function. Receives all option props (including undefined placeholders), and the current search text.
106
- * Should return a filtered array (can re-order). Defaults to internal case-insensitive label/value matching
105
+ * Provide a custom option filtering function. Receives the option props, the current search text, and (when the option is inside an `Autocomplete.OptionGroup`) the owning group's props. Return `true` to filter the option out, `false` to keep it visible. Defaults to internal case-insensitive label/value matching that ignores the group.
107
106
  */
108
- optionFilter?: (option: OptionProps, searchText: string | null) => boolean;
107
+ optionFilter?: (option: OptionProps, searchText: string | null, group?: OptionGroupProps) => boolean;
109
108
  }
110
109
  declare const AutocompleteComponent: FC<PropsWithoutRef<AutocompleteProps>>;
111
110
  export declare const Autocomplete: typeof AutocompleteComponent & {
112
111
  Option: typeof Option;
112
+ OptionGroup: typeof OptionGroup;
113
113
  };
114
114
  export default Autocomplete;