@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
@@ -6,39 +6,42 @@ import { g as a } from "../../chunks/classNames.BTJmrO_L.js";
6
6
  import { t as O } from "../../chunks/constants.CKKGf1-i.js";
7
7
  import { ActionListContextProvider as S } from "../ActionList/ActionList.context.es.js";
8
8
  import { useCallback as T } from "react";
9
- import { f as j } from "../../chunks/floatingui.module.BcBFebz0.js";
9
+ import { f as j } from "../../chunks/FloatingUI.arrow.tN5_IctZ.js";
10
10
  import { p as D } from "../../chunks/popover.module.3dnl8y6-.js";
11
11
  import "../_Options/Option.context.es.js";
12
12
  import { Option as E } from "../_Options/Option.es.js";
13
+ import "../_Options/OptionGroup.context.es.js";
14
+ import "../../utils/hooks/useId.es.js";
15
+ import "../ActionList/ActionList.es.js";
13
16
  import "../../chunks/form.context.D7b4066_.js";
14
17
  import "../Form/contexts/label.context.es.js";
15
18
  import "../Form/contexts/helperText.context.es.js";
16
- const { baseClassNamePrefix: L } = a("floatingui"), { baseClassNamePrefix: q } = a("popover"), z = [E], I = ({
19
+ const { baseClassNamePrefix: L } = a("floatingui"), { baseClassNamePrefix: q } = a("popover"), z = [E], eo = ({
17
20
  setOpen: e,
18
21
  isMounted: i,
19
22
  status: l,
20
23
  nodeId: m,
21
24
  context: n,
22
- getFloatingProps: f,
23
- floatingStyles: p,
25
+ getFloatingProps: p,
26
+ floatingStyles: f,
24
27
  labelsRef: c,
25
28
  elementsRef: u,
26
29
  getItemProps: d,
27
30
  setFloating: g,
28
31
  disabled: F,
29
32
  readOnly: x,
30
- theme: s,
33
+ theme: t,
31
34
  className: N,
32
35
  children: h,
33
- multiple: t,
36
+ multiple: s,
34
37
  activeIndex: C,
35
38
  onItemClick: r
36
39
  }) => {
37
40
  const P = T(
38
41
  (b) => {
39
- r == null || r(b), !t && e(!1);
42
+ r == null || r(b), !s && e(!1);
40
43
  },
41
- [t, r, e]
44
+ [s, r, e]
42
45
  );
43
46
  return i ? /* @__PURE__ */ o(v, { children: /* @__PURE__ */ o(y, { id: m, children: /* @__PURE__ */ o(B, { children: /* @__PURE__ */ o(
44
47
  w,
@@ -57,13 +60,13 @@ const { baseClassNamePrefix: L } = a("floatingui"), { baseClassNamePrefix: q } =
57
60
  {
58
61
  "data-status": l,
59
62
  className: M(
60
- s && O(s),
63
+ t && O(t),
61
64
  j[L],
62
65
  D[q],
63
66
  N
64
67
  ),
65
- ...f(),
66
- style: p,
68
+ ...p(),
69
+ style: f,
67
70
  ref: g,
68
71
  children: /* @__PURE__ */ o(
69
72
  S,
@@ -84,5 +87,5 @@ const { baseClassNamePrefix: L } = a("floatingui"), { baseClassNamePrefix: q } =
84
87
  ) }) }) }) : null;
85
88
  };
86
89
  export {
87
- I as AutocompleteDropdown
90
+ eo as AutocompleteDropdown
88
91
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),f=require("../../chunks/floatingui.module.D3Aw_aYe.js"),m=require("../../chunks/classNames.DAeKwerT.js");require("../../chunks/constants.hwjHOsvT.js");const g=require("clsx"),e=require("react"),q=e.forwardRef(({options:s,middleware:r},t)=>{const{subElementClassPrefix:o}=m.getBEMClassNames("floatingui"),{className:n,hide:a}=s,l=g(f.floatinguiStyles[`${o}arrow`],n),i=e.useRef(null),u=t||i;return a?null:c.jsx("span",{ref:u,style:r.arrowStyles,className:l})});exports.Arrow=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");const r=require("../../chunks/FloatingUI.arrow.DFhYQv_F.js");require("../../chunks/classNames.DAeKwerT.js");require("../../chunks/constants.hwjHOsvT.js");require("clsx");require("react");exports.Arrow=r.Arrow;
@@ -1,20 +1,9 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { f as c } from "../../chunks/floatingui.module.BcBFebz0.js";
3
- import { g as u } from "../../chunks/classNames.BTJmrO_L.js";
1
+ import "react/jsx-runtime";
2
+ import { A as a } from "../../chunks/FloatingUI.arrow.tN5_IctZ.js";
3
+ import "../../chunks/classNames.BTJmrO_L.js";
4
4
  import "../../chunks/constants.CKKGf1-i.js";
5
- import p from "clsx";
6
- import r from "react";
7
- const y = r.forwardRef(({ options: s, middleware: o }, t) => {
8
- const { subElementClassPrefix: e } = u("floatingui"), { className: a, hide: l } = s, f = p(c[`${e}arrow`], a), m = r.useRef(null), i = t || m;
9
- return l ? null : /* @__PURE__ */ n(
10
- "span",
11
- {
12
- ref: i,
13
- style: o.arrowStyles,
14
- className: f
15
- }
16
- );
17
- });
5
+ import "clsx";
6
+ import "react";
18
7
  export {
19
- y as Arrow
8
+ a as Arrow
20
9
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),x=require("../../chunks/FloatingUI.context.B15Tz_4h.js"),f=require("react"),i=require("@floating-ui/react"),m=require("../../chunks/classNames.DAeKwerT.js");require("../../chunks/constants.hwjHOsvT.js");const b=require("clsx"),d=require("../../chunks/floatingui.module.D3Aw_aYe.js"),w=require("../Box/Box.cjs.js"),N=require("./FloatingUI.arrow.cjs.js");function S({children:o,props:e}){if(!e)return o;const t=typeof e=="boolean"?{}:e;return a.jsx(i.FloatingPortal,{...t,children:o})}function v({children:o,props:e}){if(!e)return o;const t=typeof e=="boolean",r=e==="transparent",{baseClassNamePrefix:l,classModifierPrefix:c}=m.getBEMClassNames("floatingui__overlay"),u={className:b(d.floatinguiStyles[l],r&&d.floatinguiStyles[`${c}transparent`]),lockScroll:!0},s=t||r?u:{...u,...e};return a.jsx(i.FloatingOverlay,{...s,children:o})}function B({children:o,context:e,props:t}){const r=f.useMemo(()=>({context:e,...typeof t=="boolean"?{}:t}),[e,t]);return t?a.jsx(i.FloatingFocusManager,{...r,children:o}):o}const y=f.forwardRef(({children:o,className:e,style:t,overlay:r,skipFloatingStyles:l=!1,...c},u)=>{const{context:s,nodeId:C,arrow:g,...n}=x.useBmFloatingUIContext(),P=i.useMergeRefs([n.refs.setFloating,u]),{isMounted:_,status:j}=i.useTransitionStatus(s,n.transitionConfig),{baseClassNamePrefix:F}=m.getBEMClassNames("floatingui"),q=l?e:b(d.floatinguiStyles[F],e),I=f.useMemo(()=>({...l?{}:s.floatingStyles,...x.visibilityHandler(s.middlewareData),...t}),[s.floatingStyles,s.middlewareData,l,t]);return _?a.jsx(i.FloatingNode,{id:C,children:a.jsx(S,{props:n.portalled,children:a.jsx(v,{props:r,children:a.jsx(B,{context:s,props:n.focusConfiguration,children:a.jsxs(w.Box,{"data-status":j,ref:P,style:I,className:q,"aria-labelledby":n.labelId,"aria-describedby":n.descriptionId,...n.getFloatingProps(c),children:[o,g&&a.jsx(N.Arrow,{options:g,middleware:n.middlewareData,ref:M=>n.setArrowEl(M)})]})})})})}):null});exports.Content=y;exports.default=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),x=require("../../chunks/FloatingUI.context.B15Tz_4h.js"),d=require("react"),i=require("@floating-ui/react"),m=require("../../chunks/classNames.DAeKwerT.js");require("../../chunks/constants.hwjHOsvT.js");const b=require("clsx"),c=require("../../chunks/FloatingUI.arrow.DFhYQv_F.js"),w=require("../Box/Box.cjs.js");function N({children:o,props:e}){if(!e)return o;const t=typeof e=="boolean"?{}:e;return a.jsx(i.FloatingPortal,{...t,children:o})}function S({children:o,props:e}){if(!e)return o;const t=typeof e=="boolean",r=e==="transparent",{baseClassNamePrefix:l,classModifierPrefix:f}=m.getBEMClassNames("floatingui__overlay"),u={className:b(c.floatinguiStyles[l],r&&c.floatinguiStyles[`${f}transparent`]),lockScroll:!0},s=t||r?u:{...u,...e};return a.jsx(i.FloatingOverlay,{...s,children:o})}function v({children:o,context:e,props:t}){const r=d.useMemo(()=>({context:e,...typeof t=="boolean"?{}:t}),[e,t]);return t?a.jsx(i.FloatingFocusManager,{...r,children:o}):o}const y=d.forwardRef(({children:o,className:e,style:t,overlay:r,skipFloatingStyles:l=!1,...f},u)=>{const{context:s,nodeId:C,arrow:g,...n}=x.useBmFloatingUIContext(),P=i.useMergeRefs([n.refs.setFloating,u]),{isMounted:j,status:F}=i.useTransitionStatus(s,n.transitionConfig),{baseClassNamePrefix:_}=m.getBEMClassNames("floatingui"),I=l?e:b(c.floatinguiStyles[_],e),M=d.useMemo(()=>({...l?{}:s.floatingStyles,...x.visibilityHandler(s.middlewareData),...t}),[s.floatingStyles,s.middlewareData,l,t]);return j?a.jsx(i.FloatingNode,{id:C,children:a.jsx(N,{props:n.portalled,children:a.jsx(S,{props:r,children:a.jsx(v,{context:s,props:n.focusConfiguration,children:a.jsxs(w.Box,{"data-status":F,ref:P,style:M,className:I,"aria-labelledby":n.labelId,"aria-describedby":n.descriptionId,...n.getFloatingProps(f),children:[o,g&&a.jsx(c.Arrow,{options:g,middleware:n.middlewareData,ref:q=>n.setArrowEl(q)})]})})})})}):null});exports.Content=y;exports.default=y;
@@ -1,20 +1,19 @@
1
1
  import { jsx as n, jsxs as M } from "react/jsx-runtime";
2
2
  import { a as v, v as I } from "../../chunks/FloatingUI.context.Dl4Y1y1z.js";
3
- import c, { useMemo as N } from "react";
4
- import { useMergeRefs as B, useTransitionStatus as R, FloatingNode as S, FloatingPortal as D, FloatingOverlay as O, FloatingFocusManager as U } from "@floating-ui/react";
3
+ import m, { useMemo as N } from "react";
4
+ import { useMergeRefs as B, useTransitionStatus as R, FloatingNode as S, FloatingPortal as A, FloatingOverlay as D, FloatingFocusManager as O } from "@floating-ui/react";
5
5
  import { g as u } from "../../chunks/classNames.BTJmrO_L.js";
6
6
  import "../../chunks/constants.CKKGf1-i.js";
7
7
  import g from "clsx";
8
- import { f as d } from "../../chunks/floatingui.module.BcBFebz0.js";
8
+ import { f as d, A as U } from "../../chunks/FloatingUI.arrow.tN5_IctZ.js";
9
9
  import { Box as _ } from "../Box/Box.es.js";
10
- import { Arrow as h } from "./FloatingUI.arrow.es.js";
11
- function j({
10
+ function h({
12
11
  children: o,
13
12
  props: t
14
13
  }) {
15
- return t ? /* @__PURE__ */ n(D, { ...typeof t == "boolean" ? {} : t, children: o }) : o;
14
+ return t ? /* @__PURE__ */ n(A, { ...typeof t == "boolean" ? {} : t, children: o }) : o;
16
15
  }
17
- function A({
16
+ function j({
18
17
  children: o,
19
18
  props: t
20
19
  }) {
@@ -24,23 +23,23 @@ function A({
24
23
  className: g(d[s], i && d[`${f}transparent`]),
25
24
  lockScroll: !0
26
25
  }, r = e || i ? l : { ...l, ...t };
27
- return /* @__PURE__ */ n(O, { ...r, children: o });
26
+ return /* @__PURE__ */ n(D, { ...r, children: o });
28
27
  }
29
28
  function E({
30
29
  children: o,
31
30
  context: t,
32
31
  props: e
33
32
  }) {
34
- const i = c.useMemo(
33
+ const i = m.useMemo(
35
34
  () => ({
36
35
  context: t,
37
36
  ...typeof e == "boolean" ? {} : e
38
37
  }),
39
38
  [t, e]
40
39
  );
41
- return e ? /* @__PURE__ */ n(U, { ...i, children: o }) : o;
40
+ return e ? /* @__PURE__ */ n(O, { ...i, children: o }) : o;
42
41
  }
43
- const V = c.forwardRef(
42
+ const Q = m.forwardRef(
44
43
  ({
45
44
  children: o,
46
45
  className: t,
@@ -52,7 +51,7 @@ const V = c.forwardRef(
52
51
  const {
53
52
  context: r,
54
53
  nodeId: p,
55
- arrow: m,
54
+ arrow: c,
56
55
  ...a
57
56
  } = v(), P = B([a.refs.setFloating, l]), { isMounted: b, status: x } = R(
58
57
  r,
@@ -70,7 +69,7 @@ const V = c.forwardRef(
70
69
  e
71
70
  ]
72
71
  );
73
- return b ? /* @__PURE__ */ n(S, { id: p, children: /* @__PURE__ */ n(j, { props: a.portalled, children: /* @__PURE__ */ n(A, { props: i, children: /* @__PURE__ */ n(
72
+ return b ? /* @__PURE__ */ n(S, { id: p, children: /* @__PURE__ */ n(h, { props: a.portalled, children: /* @__PURE__ */ n(j, { props: i, children: /* @__PURE__ */ n(
74
73
  E,
75
74
  {
76
75
  context: r,
@@ -89,10 +88,10 @@ const V = c.forwardRef(
89
88
  ),
90
89
  children: [
91
90
  o,
92
- m && /* @__PURE__ */ n(
93
- h,
91
+ c && /* @__PURE__ */ n(
92
+ U,
94
93
  {
95
- options: m,
94
+ options: c,
96
95
  middleware: a.middlewareData,
97
96
  ref: (F) => a.setArrowEl(F)
98
97
  }
@@ -105,6 +104,6 @@ const V = c.forwardRef(
105
104
  }
106
105
  );
107
106
  export {
108
- V as Content,
109
- V as default
107
+ Q as Content,
108
+ Q as default
110
109
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),p=require("@floating-ui/react"),q=require("../Box/Box.cjs.js"),N=require("clsx"),t=require("../../chunks/classNames.DAeKwerT.js"),_=require("../../chunks/constants.hwjHOsvT.js"),b=require("../ActionList/ActionList.context.cjs.js"),g=require("react"),e=require("../../chunks/Search.Results.DqEXVJeE.js"),h=require("../../chunks/floatingui.module.D3Aw_aYe.js"),B=require("../../chunks/popover.module.DGUJIXrP.js"),{baseClassNamePrefix:P}=t.getBEMClassNames("floatingui"),{baseClassNamePrefix:S}=t.getBEMClassNames("popover"),{subElementClassPrefix:y}=t.getBEMClassNames("search"),v=[e.Results,e.Results.Item,e.Results.ViewAll],w=({setOpen:o,isMounted:r,getFloatingProps:a,floatingStyles:i,labelsRef:n,elementsRef:c,getItemProps:u,setFloating:m,theme:l,className:x,children:f,activeIndex:C})=>{const d=g.useCallback(()=>o(!1),[o]);return r?s.jsx(p.FloatingPortal,{children:s.jsx(q.Box,{className:N(l&&_.themeClassName(l),h.floatinguiStyles[P],B.popoverStyles[S],e.styles[`${y}dropdown`],x),...a(),style:i,ref:m,children:s.jsx(b.ActionListContextProvider,{allowChildrenTypes:v,getItemProps:u,itemsFocusable:!1,onItemClick:d,labelsRef:n,elementsRef:c,activeIndex:C,children:f})})}):null};exports.SearchDropdown=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("@floating-ui/react"),p=require("../Box/Box.cjs.js"),b=require("clsx"),t=require("../../chunks/classNames.DAeKwerT.js"),g=require("../../chunks/constants.hwjHOsvT.js"),q=require("../ActionList/ActionList.context.cjs.js"),N=require("react"),e=require("../../chunks/Search.Results.DqEXVJeE.js"),h=require("../../chunks/FloatingUI.arrow.DFhYQv_F.js"),B=require("../../chunks/popover.module.DGUJIXrP.js"),{baseClassNamePrefix:P}=t.getBEMClassNames("floatingui"),{baseClassNamePrefix:S}=t.getBEMClassNames("popover"),{subElementClassPrefix:w}=t.getBEMClassNames("search"),y=[e.Results,e.Results.Item,e.Results.ViewAll],v=({setOpen:o,isMounted:l,getFloatingProps:a,floatingStyles:i,labelsRef:n,elementsRef:c,getItemProps:u,setFloating:m,theme:r,className:x,children:C,activeIndex:f})=>{const _=N.useCallback(()=>o(!1),[o]);return l?s.jsx(d.FloatingPortal,{children:s.jsx(p.Box,{className:b(r&&g.themeClassName(r),h.floatinguiStyles[P],B.popoverStyles[S],e.styles[`${w}dropdown`],x),...a(),style:i,ref:m,children:s.jsx(q.ActionListContextProvider,{allowChildrenTypes:y,getItemProps:u,itemsFocusable:!1,onItemClick:_,labelsRef:n,elementsRef:c,activeIndex:f,children:C})})}):null};exports.SearchDropdown=v;
@@ -7,7 +7,7 @@ import { t as g } from "../../chunks/constants.CKKGf1-i.js";
7
7
  import { ActionListContextProvider as h } from "../ActionList/ActionList.context.es.js";
8
8
  import { useCallback as b } from "react";
9
9
  import { R as o, s as y } from "../../chunks/Search.Results.XLqY_iES.js";
10
- import { f as v } from "../../chunks/floatingui.module.BcBFebz0.js";
10
+ import { f as v } from "../../chunks/FloatingUI.arrow.tN5_IctZ.js";
11
11
  import { p as w } from "../../chunks/popover.module.3dnl8y6-.js";
12
12
  const { baseClassNamePrefix: B } = e("floatingui"), { baseClassNamePrefix: k } = e("popover"), { subElementClassPrefix: I } = e("search"), S = [o, o.Item, o.ViewAll], q = ({
13
13
  setOpen: r,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),n=require("react"),De=require("../../chunks/classNames.DAeKwerT.js"),Fe=require("../../chunks/constants.hwjHOsvT.js"),i=require("../../chunks/combobox.module.BRWGQi7s.js"),D=require("clsx"),F=require("../../chunks/form.context.hesWPMlU.js"),Le=require("../Form/contexts/label.context.cjs.js"),Ve=require("../Form/contexts/helperText.context.cjs.js"),L=require("../ActionList/ActionList.cjs.js"),ke=require("./useSelectDropdown.cjs.js"),Ae=require("./SelectDropdown.cjs.js"),Ee=require("./useSelectChips.cjs.js"),Re=require("./useSelectKeyboardManager.cjs.js"),Te=require("./useClearSelection.cjs.js"),He=require("../_Options/OptionChips.cjs.js"),Ke=require("./SelectField.cjs.js"),Ge=require("./useSelectA11y.cjs.js"),V=require("../_Options/Option.context.cjs.js"),We=require("../_Options/Option.cjs.js"),ze=require("../_Options/useSelectValue.cjs.js"),Je=require("../_Options/strategies/SelectionStrategy.cjs.js"),{baseClassNamePrefix:Qe,subElementClassPrefix:v,classModifierPrefix:c}=De.getBEMClassNames("combobox"),Ue=n.forwardRef(({theme:f,width:k,error:a,children:A,label:q=null,contentBefore:E,contentAfter:R,fluid:T=!1,helperText:C=null,validationRules:H=[],className:K,hideRequiredMarker:G=!1,disabled:W=!1,readOnly:z=!1,required:J=!1,placeholder:Q="",onChange:b,...x},U)=>{const{id:g,name:X,"aria-describedby":Y,multiple:e=!1,clearable:Z=e,...ee}=x,{showErrors:te,isInvalid:se,errorShown:le,disabled:l,readOnly:o,required:P}=F.useFormField({name:X,validationRules:H,disabledProp:W,readOnlyProp:z,requiredProp:J}),{aria:_,ids:ie}=Ge.default({helperText:C,externalDescribedBy:Y,error:a,errorShown:le,invalid:!!a||se}),{helperTextId:re,errorId:oe,validationErrorsId:ne,labelId:j}=ie,ce=!!(a!=null&&a.length),ae=n.useCallback(r=>{b==null||b(r)},[b]),{value:d,setValue:I,selectProps:de,handleBlur:M,singleValue:S}=ze.useSelectValue({onChange:ae,...x},U),h=!d||Array.isArray(d)&&!d.length,{optionsContext:ue,optionIds:u,optionsProps:p,selectedOptionsProps:N,deselectOptionValue:$}=V.useCreateOptionsContext(d,I,e),y=n.useMemo(()=>{if(!S)return;const r=u.map(t=>p.get(t)).findIndex(t=>(t==null?void 0:t.value)===S);return r!==-1?r:void 0},[u,p,S]),pe=n.useMemo(()=>{if(y===void 0)return;const r=p.get(u[y]);return r==null?void 0:r.label},[y,u,p]),{getFieldProps:be,dropdownProps:xe,refs:_e,open:w,setOpen:O,status:Se}=ke.useSelectDropdown({disabled:l,readOnly:o,lastSelectedOptionIndex:y}),ye=D(i.styles[Qe],f&&Fe.themeClassName(f),T&&i.styles[`${c}fluid`],_.invalid&&i.styles[`${c}error`],l&&i.styles[`${c}disabled`],o&&i.styles[`${c}read-only`],h&&i.styles[`${c}empty`],e&&i.styles[`${c}multiple`],i.styles[`${c}dropdown-${Se}`],K),{canClear:me,handleClear:fe}=Te.default({multiple:e,clearable:Z,isEmpty:h,disabled:l,readOnly:o,setValue:I,setOpen:O}),{chipGroupProps:he,handleBlur:B,selectedChip:Oe,setSelectedChip:ve,enabled:qe,selectPreviousChip:Ce,selectNextChip:ge,options:Pe,deselectOptionValue:je}=Ee.useSelectChips({multiple:e,disabled:l,readOnly:o,open:w,setOpen:O,options:N,deselectOptionValue:$,fieldRef:_e.domReference}),{getKeyboardProps:Ie}=Re.useSelectKeyboardManager({multiple:e,disabled:l,readOnly:o,open:w,setOpen:O,chips:{enabled:qe,selectedChip:Oe,setSelectedChip:ve,selectPreviousChip:Ce,selectNextChip:ge,options:Pe,deselectOptionValue:je}}),Me=n.useMemo(()=>Je.createSelectionStrategy(e),[e]),Ne=n.useCallback(()=>{M(),B()},[M,B]),{ref:$e,...we}=Ie(be());return s.jsxs(V.OptionsProvider,{value:ue,children:[s.jsxs("div",{className:ye,style:{maxWidth:k},children:[s.jsx(Le.LabelProvider,{ctxHtmlFor:g,ctxDisabled:l,ctxRequired:P&&!G,ctxId:j,children:q}),s.jsx(Ke.SelectField,{id:g,disabled:l,readOnly:o,required:P,invalid:_.invalid,errorMessage:_.errorMessage,labelId:!x.ariaLabel&&q?j:void 0,ariaLabel:x.ariaLabel,describedBy:_.describedBy,contentBefore:E,contentAfter:R,chips:s.jsx(He.OptionChips,{multiple:e,disabled:l,readOnly:o,selectedOptions:N,deselectOptionValue:$,chipGroupProps:he,input:s.jsx("input",{className:i.styles[`${v}field__input`],placeholder:e&&!h?"":Q,disabled:l,readOnly:!0,autoComplete:"off",tabIndex:-1,autoFocus:!1,value:e?"":pe??S})}),hasClearButton:me,onClear:fe,onBlur:Ne,...we,ref:$e}),s.jsxs(Ve.HelperTextProvider,{ctxId:re,ctxDisabled:l,children:[C,ce&&s.jsx(F.HelperText,{id:oe,appearance:"negative",children:a})]}),te(ne)]}),s.jsxs("select",{...ee,...de,hidden:!0,multiple:e,children:[s.jsx("option",{value:"",children:"empty"}),A]}),s.jsx(Ae.SelectDropdown,{...xe,className:i.styles[`${v}dropdown`],disabled:l,readOnly:o,theme:f,multiple:e,children:s.jsx(L.ActionList,{role:"listbox",children:u.map(r=>{const t=p.get(r);if(!t)return null;const Be=Me.isSelected(t.value,d);return n.createElement(L.ActionList.Item,{...t,className:D(i.styles[`${v}option`],t.className),defaultSelected:Be,key:`opt-${t.value??t.label}`,kind:e?"checkbox":"singleCheckMark",role:"option"})})})})]})}),m=Ue;m.Option=We.Option;m.displayName="Select";exports.Select=m;exports.default=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),He=require("../../chunks/classNames.DAeKwerT.js"),ke=require("../../chunks/constants.hwjHOsvT.js"),l=require("../../chunks/combobox.module.BRWGQi7s.js"),Ke=require("clsx"),n=require("react"),A=require("../../chunks/form.context.hesWPMlU.js"),We=require("../Form/contexts/label.context.cjs.js"),ze=require("../Form/contexts/helperText.context.cjs.js"),E=require("../ActionList/ActionList.cjs.js"),Je=require("./useSelectDropdown.cjs.js"),Qe=require("./SelectDropdown.cjs.js"),Ue=require("./useSelectChips.cjs.js"),Xe=require("./useSelectKeyboardManager.cjs.js"),Ye=require("./useClearSelection.cjs.js"),Ze=require("../_Options/OptionChips.cjs.js"),et=require("./SelectField.cjs.js"),tt=require("./useSelectA11y.cjs.js"),G=require("../_Options/Option.context.cjs.js"),st=require("../_Options/Option.cjs.js"),it=require("../_Options/OptionGroup.cjs.js");require("../_Options/OptionGroup.context.cjs.js");const lt=require("../_Options/getLastVisibleStructureIndex.cjs.js"),rt=require("../_Options/useRenderOption.cjs.js"),ot=require("../_Options/useSelectValue.cjs.js"),nt=require("../_Options/strategies/SelectionStrategy.cjs.js"),{baseClassNamePrefix:ct,subElementClassPrefix:C,classModifierPrefix:c}=He.getBEMClassNames("combobox"),at=n.forwardRef(({theme:m,width:T,error:a,children:H,label:I=null,contentBefore:k,contentAfter:K,fluid:W=!1,helperText:P=null,validationRules:z=[],className:J,hideRequiredMarker:Q=!1,disabled:U=!1,readOnly:X=!1,required:Y=!1,placeholder:Z="",onChange:_,...x},ee)=>{const{id:j,name:te,"aria-describedby":se,multiple:e=!1,clearable:ie=e,...le}=x,{showErrors:re,isInvalid:oe,errorShown:ne,disabled:i,readOnly:r,required:M}=A.useFormField({name:te,validationRules:z,disabledProp:U,readOnlyProp:X,requiredProp:Y}),{aria:S,ids:ce}=tt.default({helperText:P,externalDescribedBy:se,error:a,errorShown:ne,invalid:!!a||oe}),{helperTextId:ae,errorId:de,validationErrorsId:ue,labelId:L}=ce,pe=!!(a!=null&&a.length),be=n.useCallback(t=>{_==null||_(t)},[_]),{value:d,setValue:V,selectProps:_e,handleBlur:w,singleValue:h}=ot.useSelectValue({onChange:be,...x},ee),f=!d||Array.isArray(d)&&!d.length,{optionsContext:xe,optionIds:O,optionsProps:u,selectedOptionsProps:B,deselectOptionValue:N,structureIds:q,groupsProps:Se,optionIdsByGroup:v}=G.useCreateOptionsContext(d,V,e),y=n.useMemo(()=>{if(!h)return;const t=O.map(o=>u.get(o)).findIndex(o=>(o==null?void 0:o.value)===h);return t!==-1?t:void 0},[O,u,h]),he=n.useMemo(()=>{if(y===void 0)return;const t=u.get(O[y]);return t==null?void 0:t.label},[y,O,u]),{getFieldProps:Oe,dropdownProps:ye,refs:me,open:$,setOpen:g,status:fe}=Je.useSelectDropdown({disabled:i,readOnly:r,lastSelectedOptionIndex:y}),qe=Ke(l.styles[ct],m&&ke.themeClassName(m),W&&l.styles[`${c}fluid`],S.invalid&&l.styles[`${c}error`],i&&l.styles[`${c}disabled`],r&&l.styles[`${c}read-only`],f&&l.styles[`${c}empty`],e&&l.styles[`${c}multiple`],l.styles[`${c}dropdown-${fe}`],J),{canClear:ve,handleClear:ge}=Ye.default({multiple:e,clearable:ie,isEmpty:f,disabled:i,readOnly:r,setValue:V,setOpen:g}),{chipGroupProps:Ce,handleBlur:D,selectedChip:Ie,setSelectedChip:Pe,enabled:je,selectPreviousChip:Me,selectNextChip:Le,options:Ve,deselectOptionValue:we}=Ue.useSelectChips({multiple:e,disabled:i,readOnly:r,open:$,setOpen:g,options:B,deselectOptionValue:N,fieldRef:me.domReference}),{getKeyboardProps:Be}=Xe.useSelectKeyboardManager({multiple:e,disabled:i,readOnly:r,open:$,setOpen:g,chips:{enabled:je,selectedChip:Ie,setSelectedChip:Pe,selectPreviousChip:Me,selectNextChip:Le,options:Ve,deselectOptionValue:we}}),Ne=n.useMemo(()=>nt.createSelectionStrategy(e),[e]),$e=n.useCallback(()=>{w(),D()},[w,D]),F=rt.useRenderOption({optionsProps:u,selectionStrategy:Ne,value:d,multiple:e,optionClassName:l.styles[`${C}option`]}),De=n.useMemo(()=>lt.getLastVisibleStructureIndex(q,v),[q,v]),{ref:Fe,...Re}=Be(Oe());return s.jsxs(G.OptionsProvider,{value:xe,children:[s.jsxs("div",{className:qe,style:{maxWidth:T},children:[s.jsx(We.LabelProvider,{ctxHtmlFor:j,ctxDisabled:i,ctxRequired:M&&!Q,ctxId:L,children:I}),s.jsx(et.SelectField,{id:j,disabled:i,readOnly:r,required:M,invalid:S.invalid,errorMessage:S.errorMessage,labelId:!x.ariaLabel&&I?L:void 0,ariaLabel:x.ariaLabel,describedBy:S.describedBy,contentBefore:k,contentAfter:K,chips:s.jsx(Ze.OptionChips,{multiple:e,disabled:i,readOnly:r,selectedOptions:B,deselectOptionValue:N,chipGroupProps:Ce,input:s.jsx("input",{className:l.styles[`${C}field__input`],placeholder:e&&!f?"":Z,disabled:i,readOnly:!0,autoComplete:"off",tabIndex:-1,autoFocus:!1,value:e?"":he??h})}),hasClearButton:ve,onClear:ge,onBlur:$e,...Re,ref:Fe}),s.jsxs(ze.HelperTextProvider,{ctxId:ae,ctxDisabled:i,children:[P,pe&&s.jsx(A.HelperText,{id:de,appearance:"negative",children:a})]}),re(ue)]}),s.jsxs("select",{...le,..._e,hidden:!0,multiple:e,children:[s.jsx("option",{value:"",children:"empty"}),H]}),s.jsx(Qe.SelectDropdown,{...ye,className:l.styles[`${C}dropdown`],disabled:i,readOnly:r,theme:m,multiple:e,children:s.jsx(E.ActionList,{role:"listbox",children:q.map((t,o)=>{if(t.kind==="option")return F(t.id);const p=Se.get(t.id);if(!p)return null;const R=v.get(t.id)??[],Ae=R.length>0,Ee=o===De,Ge=!!p.divider&&!Ee;return s.jsx(E.ActionList.Group,{heading:p.heading,divider:Ge,disabled:p.disabled,hidden:!Ae,children:R.map(Te=>F(Te,p.disabled))},t.id)})})})]})}),b=at;b.Option=st.Option;b.OptionGroup=it.OptionGroup;b.displayName="Select";exports.Select=b;exports.default=b;
@@ -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 } from '../_Options';
4
+ import { Option, OptionGroup } from '../_Options';
5
5
  export interface SelectProps extends React.ComponentPropsWithRef<'select'> {
6
6
  /**
7
7
  * Specify HelperText for Select
@@ -76,7 +76,7 @@ export interface SelectProps extends React.ComponentPropsWithRef<'select'> {
76
76
  */
77
77
  contentAfter?: ReactNode;
78
78
  /**
79
- * Add `Select.Option` components as children
79
+ * Add any combination of `Select.Option` and `Select.OptionGroup` components as children
80
80
  */
81
81
  children: ReactNode;
82
82
  /**
@@ -91,5 +91,6 @@ export interface SelectProps extends React.ComponentPropsWithRef<'select'> {
91
91
  declare const SelectComponent: FC<PropsWithoutRef<SelectProps>>;
92
92
  export declare const Select: typeof SelectComponent & {
93
93
  Option: typeof Option;
94
+ OptionGroup: typeof OptionGroup;
94
95
  };
95
96
  export default Select;