@viasat/beam-react 2.30.0 → 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 +3 -1
  142. package/lib/wip/Panel/Panel.Inline.es.js +44 -40
  143. package/lib/wip/Panel/Panel.Overlay.cjs.js +1 -1
  144. package/lib/wip/Panel/Panel.Overlay.d.ts +18 -2
  145. package/lib/wip/Panel/Panel.Overlay.es.js +110 -84
  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 +125 -94
  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
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s={day:2,month:2,year:4},c=/^[0-9]$/,a=(r,e,n)=>{if(!c.test(n))return{newBuffer:e,shouldAdvance:!1,rejected:!0};const u=s[r];if(e.length>=u)return{newBuffer:e,shouldAdvance:!1,rejected:!0};if(r==="year"){const t=e+n;return{newBuffer:t,shouldAdvance:t.length===u,rejected:!1}}return r==="month"?l(e,n):d(e,n)},l=(r,e)=>r===""?e==="0"||e==="1"?{newBuffer:e,shouldAdvance:!1,rejected:!1}:{newBuffer:`0${e}`,shouldAdvance:!0,rejected:!1}:r==="0"?e==="0"?{newBuffer:r,shouldAdvance:!1,rejected:!0}:{newBuffer:`0${e}`,shouldAdvance:!0,rejected:!1}:r==="1"?e==="0"||e==="1"||e==="2"?{newBuffer:`1${e}`,shouldAdvance:!0,rejected:!1}:{newBuffer:r,shouldAdvance:!1,rejected:!0}:{newBuffer:r,shouldAdvance:!1,rejected:!0},d=(r,e)=>r===""?e==="0"||e==="1"||e==="2"||e==="3"?{newBuffer:e,shouldAdvance:!1,rejected:!1}:{newBuffer:`0${e}`,shouldAdvance:!0,rejected:!1}:r==="0"?e==="0"?{newBuffer:r,shouldAdvance:!1,rejected:!0}:{newBuffer:`0${e}`,shouldAdvance:!0,rejected:!1}:r==="1"||r==="2"?{newBuffer:`${r}${e}`,shouldAdvance:!0,rejected:!1}:r==="3"?e==="0"||e==="1"?{newBuffer:`3${e}`,shouldAdvance:!0,rejected:!1}:{newBuffer:r,shouldAdvance:!1,rejected:!0}:{newBuffer:r,shouldAdvance:!1,rejected:!0},f=s;exports.SEGMENT_MAX_LENGTH=f;exports.tryAppendDigit=a;
@@ -0,0 +1,26 @@
1
+ import { SegmentType } from './DateField.types';
2
+ export interface TryAppendDigitResult {
3
+ /** Buffer state after the append. Unchanged when `rejected` is true. */
4
+ newBuffer: string;
5
+ /** True when the segment completed and focus should auto-advance. */
6
+ shouldAdvance: boolean;
7
+ /** True when the digit was refused (invalid char, out-of-range, buffer full). */
8
+ rejected: boolean;
9
+ }
10
+ /**
11
+ * Per-segment input validation with intermediate-state awareness. Decides
12
+ * whether a typed digit is accepted (buffer grows), accepted-with-pad (e.g.
13
+ * "5" in empty month → "05"), or rejected ("13" for month).
14
+ *
15
+ * Pure; entirely driven by the (type, buffer, digit) tuple. Cross-segment
16
+ * validity (Feb 30) is NOT checked here — that's `deriveValue`'s job.
17
+ *
18
+ * - Day uses a fixed max of 31; month-dependent day max is intentionally
19
+ * deferred — invalid combinations surface as cross-segment errors.
20
+ * - Year accepts any 4-digit value 0000-9999; min/max range tightening lands
21
+ * in DF-10 via dedicated `minDate` / `maxDate` props.
22
+ */
23
+ export declare const tryAppendDigit: (type: SegmentType, buffer: string, digit: string) => TryAppendDigitResult;
24
+ /** Re-export so `formatSegment` and `tryAppendDigit` share the same max-length
25
+ * constants without a circular dep. */
26
+ export declare const SEGMENT_MAX_LENGTH: Record<SegmentType, number>;
@@ -0,0 +1,24 @@
1
+ const s = {
2
+ day: 2,
3
+ month: 2,
4
+ year: 4
5
+ }, c = /^[0-9]$/, f = (r, e, n) => {
6
+ if (!c.test(n))
7
+ return { newBuffer: e, shouldAdvance: !1, rejected: !0 };
8
+ const u = s[r];
9
+ if (e.length >= u)
10
+ return { newBuffer: e, shouldAdvance: !1, rejected: !0 };
11
+ if (r === "year") {
12
+ const t = e + n;
13
+ return {
14
+ newBuffer: t,
15
+ shouldAdvance: t.length === u,
16
+ rejected: !1
17
+ };
18
+ }
19
+ return r === "month" ? a(e, n) : l(e, n);
20
+ }, a = (r, e) => r === "" ? e === "0" || e === "1" ? { newBuffer: e, shouldAdvance: !1, rejected: !1 } : { newBuffer: `0${e}`, shouldAdvance: !0, rejected: !1 } : r === "0" ? e === "0" ? { newBuffer: r, shouldAdvance: !1, rejected: !0 } : { newBuffer: `0${e}`, shouldAdvance: !0, rejected: !1 } : r === "1" ? e === "0" || e === "1" || e === "2" ? { newBuffer: `1${e}`, shouldAdvance: !0, rejected: !1 } : { newBuffer: r, shouldAdvance: !1, rejected: !0 } : { newBuffer: r, shouldAdvance: !1, rejected: !0 }, l = (r, e) => r === "" ? e === "0" || e === "1" || e === "2" || e === "3" ? { newBuffer: e, shouldAdvance: !1, rejected: !1 } : { newBuffer: `0${e}`, shouldAdvance: !0, rejected: !1 } : r === "0" ? e === "0" ? { newBuffer: r, shouldAdvance: !1, rejected: !0 } : { newBuffer: `0${e}`, shouldAdvance: !0, rejected: !1 } : r === "1" || r === "2" ? { newBuffer: `${r}${e}`, shouldAdvance: !0, rejected: !1 } : r === "3" ? e === "0" || e === "1" ? { newBuffer: `3${e}`, shouldAdvance: !0, rejected: !1 } : { newBuffer: r, shouldAdvance: !1, rejected: !0 } : { newBuffer: r, shouldAdvance: !1, rejected: !0 }, d = s;
21
+ export {
22
+ d as SEGMENT_MAX_LENGTH,
23
+ f as tryAppendDigit
24
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./DateField.cjs.js");exports.DateField=e.DateField;
@@ -0,0 +1,2 @@
1
+ export { DateField } from './DateField';
2
+ export type { DateFieldProps } from './DateField.types';
@@ -0,0 +1,4 @@
1
+ import { DateField as r } from "./DateField.es.js";
2
+ export {
3
+ r as DateField
4
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react");function M({disabled:n,fieldRef:i,segmentRefs:T,partsOrder:f,onSegmentFocusChange:x,onFieldBlur:k}){const[l,a]=c.useState(null),s=f[0],r=c.useRef(x),o=c.useRef(k);c.useEffect(()=>{r.current=x,o.current=k},[x,k]),c.useEffect(()=>{if(l===null||l==="all")return;const t=T.current.get(l);t&&document.activeElement!==t&&t.focus()},[l,T]);const b=c.useCallback(t=>{var u;n||(a(t),(u=r.current)==null||u.call(r,t))},[n]),y=c.useCallback(t=>{var u;n||t.target===i.current&&(a(s),(u=r.current)==null||u.call(r,s))},[n,i,s]),E=c.useCallback(t=>{var u,e;(u=i.current)!=null&&u.contains(t.relatedTarget)||(a(null),(e=o.current)==null||e.call(o))},[i]),v=c.useCallback(t=>{var e;if(n)return;t.target.closest("[data-segment]")||(t.preventDefault(),a(s),(e=r.current)==null||e.call(r,s))},[n,s]),I=c.useCallback(t=>{var D;const u=f.indexOf(t);if(u===-1)return;const e=f[u+1];e!=null&&(a(e),(D=r.current)==null||D.call(r,e))},[f]);return{focusedSegment:l,fieldTabIndex:n?-1:l===null?0:-1,handleSegmentFocus:b,handleFieldFocus:y,handleFieldBlur:E,handleFieldMouseDown:v,focusNext:I}}exports.useDateFieldFocus=M;
@@ -0,0 +1,23 @@
1
+ import { FocusEvent, MouseEvent, MutableRefObject } from 'react';
2
+ import { FocusTarget, SegmentType } from './DateField.types';
3
+ export interface UseDateFieldFocusArgs {
4
+ disabled: boolean;
5
+ fieldRef: MutableRefObject<HTMLDivElement | null>;
6
+ segmentRefs: MutableRefObject<Map<SegmentType, HTMLSpanElement>>;
7
+ /** Ordered segment types (literals stripped). En-US hardcoded; DF-8 derives from locale. */
8
+ partsOrder: ReadonlyArray<SegmentType>;
9
+ /** Called when focus enters a segment (any path). */
10
+ onSegmentFocusChange?: (segment: SegmentType) => void;
11
+ /** Called when focus leaves the field entirely (intra-field hops ignored). */
12
+ onFieldBlur?: () => void;
13
+ }
14
+ export interface UseDateFieldFocusReturn {
15
+ focusedSegment: FocusTarget;
16
+ fieldTabIndex: number;
17
+ handleSegmentFocus: (segment: SegmentType) => void;
18
+ handleFieldFocus: (event: FocusEvent<HTMLDivElement>) => void;
19
+ handleFieldBlur: (event: FocusEvent<HTMLElement>) => void;
20
+ handleFieldMouseDown: (event: MouseEvent<HTMLDivElement>) => void;
21
+ focusNext: (currentType: SegmentType) => void;
22
+ }
23
+ export declare function useDateFieldFocus({ disabled, fieldRef, segmentRefs, partsOrder, onSegmentFocusChange, onFieldBlur, }: UseDateFieldFocusArgs): UseDateFieldFocusReturn;
@@ -0,0 +1,65 @@
1
+ import { useState as N, useRef as I, useEffect as k, useCallback as s } from "react";
2
+ function z({
3
+ disabled: n,
4
+ fieldRef: f,
5
+ segmentRefs: D,
6
+ partsOrder: o,
7
+ onSegmentFocusChange: a,
8
+ onFieldBlur: T
9
+ }) {
10
+ const [e, i] = N(null), l = o[0], r = I(a), x = I(T);
11
+ k(() => {
12
+ r.current = a, x.current = T;
13
+ }, [a, T]), k(() => {
14
+ if (e === null || e === "all") return;
15
+ const t = D.current.get(e);
16
+ t && document.activeElement !== t && t.focus();
17
+ }, [e, D]);
18
+ const p = s(
19
+ (t) => {
20
+ var u;
21
+ n || (i(t), (u = r.current) == null || u.call(r, t));
22
+ },
23
+ [n]
24
+ ), v = s(
25
+ (t) => {
26
+ var u;
27
+ n || t.target === f.current && (i(l), (u = r.current) == null || u.call(r, l));
28
+ },
29
+ [n, f, l]
30
+ ), w = s(
31
+ (t) => {
32
+ var u, c;
33
+ (u = f.current) != null && u.contains(t.relatedTarget) || (i(null), (c = x.current) == null || c.call(x));
34
+ },
35
+ [f]
36
+ ), y = s(
37
+ (t) => {
38
+ var c;
39
+ if (n) return;
40
+ t.target.closest("[data-segment]") || (t.preventDefault(), i(l), (c = r.current) == null || c.call(r, l));
41
+ },
42
+ [n, l]
43
+ ), M = s(
44
+ (t) => {
45
+ var E;
46
+ const u = o.indexOf(t);
47
+ if (u === -1) return;
48
+ const c = o[u + 1];
49
+ c != null && (i(c), (E = r.current) == null || E.call(r, c));
50
+ },
51
+ [o]
52
+ );
53
+ return {
54
+ focusedSegment: e,
55
+ fieldTabIndex: n ? -1 : e === null ? 0 : -1,
56
+ handleSegmentFocus: p,
57
+ handleFieldFocus: v,
58
+ handleFieldBlur: w,
59
+ handleFieldMouseDown: y,
60
+ focusNext: M
61
+ };
62
+ }
63
+ export {
64
+ z as useDateFieldFocus
65
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("clsx"),T=require("react"),u=require("../../../chunks/form.context.hesWPMlU.js");require("../../Form/contexts/label.context.cjs.js");require("../../Form/contexts/helperText.context.cjs.js");const s=require("../../Form/hooks/useAccessibleId.hook.cjs.js");require("react/jsx-runtime");function L({name:i,disabled:b=!1,readOnly:y=!1,required:I=!1,defaultValue:q,error:e,hasHelperText:p,hasLabel:h,validationRules:F=[],ariaDescribedBy:f,ariaLabelledBy:m}){const{showErrors:v,isInvalid:x,errorShown:g,disabled:B,readOnly:_,required:A}=u.useFormField({name:i,validationRules:F,disabledProp:b,readOnlyProp:y,requiredProp:I}),{ctxInitialValues:D}=T.useContext(u.FormContext),{id:r}=s.useAccessibleId(),{id:d}=s.useAccessibleId(),{id:l}=s.useAccessibleId(),{id:o}=s.useAccessibleId(),t=!!(e!=null&&e.length),P=!!e||x,O=q??D[i],a=n(p&&d,t&&r,g&&l,f),c=n(h&&o,m);return{disabled:B,readOnly:_,required:A,invalid:P,errorMessageProvided:t,defaultValue:O,errorId:r,helperTextId:d,validationErrorsId:l,labelId:o,ariaDescribedBy:a.length>0?a:void 0,ariaLabelledBy:c.length>0?c:void 0,showErrors:v}}exports.useDateFieldForm=L;
@@ -0,0 +1,32 @@
1
+ import { FormValidator } from '@viasat/beam-shared/components/form';
2
+ import { Nullable } from '@viasat/beam-shared/utils/types';
3
+ import { useFormField } from '../../Form/contexts';
4
+ export interface UseDateFieldFormArgs {
5
+ name?: string;
6
+ disabled?: boolean;
7
+ readOnly?: boolean;
8
+ required?: boolean;
9
+ defaultValue?: Nullable<Date>;
10
+ error?: boolean | string;
11
+ hasHelperText: boolean;
12
+ validationRules?: Array<FormValidator>;
13
+ ariaDescribedBy?: string;
14
+ ariaLabelledBy?: string;
15
+ hasLabel: boolean;
16
+ }
17
+ export interface UseDateFieldFormReturn {
18
+ disabled: boolean;
19
+ readOnly: boolean;
20
+ required: boolean;
21
+ invalid: boolean;
22
+ errorMessageProvided: boolean;
23
+ defaultValue: Nullable<Date>;
24
+ errorId: string;
25
+ helperTextId: string;
26
+ validationErrorsId: string;
27
+ labelId: string;
28
+ ariaDescribedBy: string | undefined;
29
+ ariaLabelledBy: string | undefined;
30
+ showErrors: ReturnType<typeof useFormField>['showErrors'];
31
+ }
32
+ export declare function useDateFieldForm({ name, disabled: _disabled, readOnly: _readOnly, required: _required, defaultValue: _defaultValue, error, hasHelperText, hasLabel, validationRules, ariaDescribedBy: _ariaDescribedBy, ariaLabelledBy: _ariaLabelledBy, }: UseDateFieldFormArgs): UseDateFieldFormReturn;
@@ -0,0 +1,51 @@
1
+ import c from "clsx";
2
+ import { useContext as V } from "react";
3
+ import { b as w, F as C } from "../../../chunks/form.context.D7b4066_.js";
4
+ import "../../Form/contexts/label.context.es.js";
5
+ import "../../Form/contexts/helperText.context.es.js";
6
+ import { useAccessibleId as o } from "../../Form/hooks/useAccessibleId.hook.es.js";
7
+ import "react/jsx-runtime";
8
+ function z({
9
+ name: d,
10
+ disabled: m = !1,
11
+ readOnly: p = !1,
12
+ required: u = !1,
13
+ defaultValue: b,
14
+ error: e,
15
+ hasHelperText: f,
16
+ hasLabel: y,
17
+ validationRules: I = [],
18
+ ariaDescribedBy: h,
19
+ ariaLabelledBy: v
20
+ }) {
21
+ const { showErrors: x, isInvalid: B, errorShown: F, disabled: g, readOnly: D, required: P } = w({
22
+ name: d,
23
+ validationRules: I,
24
+ disabledProp: m,
25
+ readOnlyProp: p,
26
+ requiredProp: u
27
+ }), { ctxInitialValues: q } = V(C), { id: i } = o(), { id: r } = o(), { id: s } = o(), { id: t } = o(), a = !!(e != null && e.length), L = !!e || B, O = b ?? q[d], l = c(
28
+ f && r,
29
+ a && i,
30
+ F && s,
31
+ h
32
+ ), n = c(y && t, v);
33
+ return {
34
+ disabled: g,
35
+ readOnly: D,
36
+ required: P,
37
+ invalid: L,
38
+ errorMessageProvided: a,
39
+ defaultValue: O,
40
+ errorId: i,
41
+ helperTextId: r,
42
+ validationErrorsId: s,
43
+ labelId: t,
44
+ ariaDescribedBy: l.length > 0 ? l : void 0,
45
+ ariaLabelledBy: n.length > 0 ? n : void 0,
46
+ showErrors: x
47
+ };
48
+ }
49
+ export {
50
+ z as useDateFieldForm
51
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react");function u(){const e=r.useRef(new Map),n=r.useCallback(t=>s=>{s?e.current.set(t,s):e.current.delete(t)},[]);return{segmentRefs:e,registerSegmentRef:n}}exports.useDateFieldSegments=u;
@@ -0,0 +1,7 @@
1
+ import { MutableRefObject } from 'react';
2
+ import { SegmentType } from './DateField.types';
3
+ export interface UseDateFieldSegmentsReturn {
4
+ segmentRefs: MutableRefObject<Map<SegmentType, HTMLSpanElement>>;
5
+ registerSegmentRef: (segment: SegmentType) => (element: HTMLSpanElement | null) => void;
6
+ }
7
+ export declare function useDateFieldSegments(): UseDateFieldSegmentsReturn;
@@ -0,0 +1,13 @@
1
+ import { useRef as n, useCallback as u } from "react";
2
+ function f() {
3
+ const e = n(/* @__PURE__ */ new Map()), s = u(
4
+ (t) => (r) => {
5
+ r ? e.current.set(t, r) : e.current.delete(t);
6
+ },
7
+ []
8
+ );
9
+ return { segmentRefs: e, registerSegmentRef: s };
10
+ }
11
+ export {
12
+ f as useDateFieldSegments
13
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),s=["day","month","year"];function c({segments:l,currentValue:t,wasTouched:i,isFocused:n}){return u.useMemo(()=>{const a=s.reduce((r,d)=>l[d]!=null?r+1:r,0),e=a===3,o=a>0&&!e;return{allFilled:e,hasPartialValue:o,isInvalid:i&&(e&&t===null||o&&!n)}},[l,t,i,n])}exports.useDateFieldValidity=c;
@@ -0,0 +1,23 @@
1
+ import { Nullable } from '@viasat/beam-shared/utils/types';
2
+ import { SegmentValues } from './DateField.types';
3
+ export interface UseDateFieldValidityArgs {
4
+ segments: SegmentValues;
5
+ /** Result of `deriveValue(segments)` — passed in to avoid recomputing. */
6
+ currentValue: Nullable<Date>;
7
+ /** Gates error visibility — partial / invalid combos don't surface until the
8
+ * user has interacted with the field. */
9
+ wasTouched: boolean;
10
+ /** True when any segment in the field currently holds focus. The partial-
11
+ * on-blur rule only fires once focus has left. */
12
+ isFocused: boolean;
13
+ }
14
+ export interface UseDateFieldValidityReturn {
15
+ allFilled: boolean;
16
+ hasPartialValue: boolean;
17
+ /** "Show error?" for value-driven invalidity. True when the user has
18
+ * touched the field AND either:
19
+ * - all segments are filled but combine to an invalid date (Feb 30), or
20
+ * - some segments are filled, others empty, and focus has left the field. */
21
+ isInvalid: boolean;
22
+ }
23
+ export declare function useDateFieldValidity({ segments, currentValue, wasTouched, isFocused, }: UseDateFieldValidityArgs): UseDateFieldValidityReturn;
@@ -0,0 +1,19 @@
1
+ import { useMemo as s } from "react";
2
+ const u = ["day", "month", "year"];
3
+ function m({
4
+ segments: n,
5
+ currentValue: t,
6
+ wasTouched: i,
7
+ isFocused: a
8
+ }) {
9
+ return s(() => {
10
+ const o = u.reduce(
11
+ (r, d) => n[d] != null ? r + 1 : r,
12
+ 0
13
+ ), l = o === 3, e = o > 0 && !l;
14
+ return { allFilled: l, hasPartialValue: e, isInvalid: i && (l && t === null || e && !a) };
15
+ }, [n, t, i, a]);
16
+ }
17
+ export {
18
+ m as useDateFieldValidity
19
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),r=require("./DateField.utils.cjs.js"),E=require("./DateField.validation.cjs.js");function j({value:u,defaultValue:F,onChange:m}){const T=t.useRef(u!==void 0),f=T.current,[c,g]=t.useState(()=>r.segmentTextFromValue(f?u??null:F??null)),[h,S]=t.useState(!1),s=t.useRef(c),a=t.useRef(new Set),x=t.useRef(!1),V={day:r.segmentNumber("day",c.day),month:r.segmentNumber("month",c.month),year:r.segmentNumber("year",c.year)},y=r.deriveValue(V),b=t.useRef(y),D=t.useRef(f?u??null:null),l=t.useRef(m);t.useEffect(()=>{l.current=m},[m]),t.useEffect(()=>{if(!T.current||x.current||r.isSameDateValue(u??null,D.current))return;D.current=u??null;const e=r.segmentTextFromValue(u??null);s.current=e,g(e),b.current=r.deriveValueFromText(e)},[u]);const o=t.useCallback(e=>{var i;const n=r.deriveValueFromText(e);r.isSameDateValue(n,b.current)||(b.current=n,(i=l.current)==null||i.call(l,n))},[]),_=t.useCallback((e,n)=>{const i=a.current.has(e)?"":s.current[e],d=E.tryAppendDigit(e,i,n);if(d.rejected)return{advanced:!1,rejected:!0};const R={...s.current,[e]:d.newBuffer};return s.current=R,g(R),S(!0),o(R),d.shouldAdvance?a.current.add(e):a.current.delete(e),{advanced:d.shouldAdvance,rejected:!1}},[o]),v=t.useCallback(e=>{x.current=!0,a.current.add(e)},[]),w=t.useCallback(()=>{x.current=!1;const e=s.current,n={day:r.normalizeSegmentText("day",e.day),month:r.normalizeSegmentText("month",e.month),year:r.normalizeSegmentText("year",e.year)};s.current=n,g(n),S(!0),o(n)},[o]);return{segmentText:c,segmentValues:V,currentValue:y,isControlled:f,wasTouched:h,appendDigit:_,beginSegmentEdit:v,commitOnBlur:w}}exports.useDateFieldValue=j;
@@ -0,0 +1,19 @@
1
+ import { Nullable } from '@viasat/beam-shared/utils/types';
2
+ import { AppendDigitResult, SegmentText, SegmentType, SegmentValues } from './DateField.types';
3
+ export interface UseDateFieldValueArgs {
4
+ value?: Nullable<Date>;
5
+ defaultValue?: Nullable<Date>;
6
+ /** Fires on user-driven value transitions only, never on controlled `value` changes. */
7
+ onChange?: (value: Nullable<Date>) => void;
8
+ }
9
+ export interface UseDateFieldValueReturn {
10
+ segmentText: SegmentText;
11
+ segmentValues: SegmentValues;
12
+ currentValue: Nullable<Date>;
13
+ isControlled: boolean;
14
+ wasTouched: boolean;
15
+ appendDigit: (type: SegmentType, digit: string) => AppendDigitResult;
16
+ beginSegmentEdit: (type: SegmentType) => void;
17
+ commitOnBlur: () => void;
18
+ }
19
+ export declare function useDateFieldValue({ value, defaultValue, onChange, }: UseDateFieldValueArgs): UseDateFieldValueReturn;
@@ -0,0 +1,62 @@
1
+ import { useRef as n, useState as E, useEffect as j, useCallback as i } from "react";
2
+ import { segmentTextFromValue as v, segmentNumber as T, deriveValue as C, isSameDateValue as w, deriveValueFromText as A, normalizeSegmentText as V } from "./DateField.utils.es.js";
3
+ import { tryAppendDigit as I } from "./DateField.validation.es.js";
4
+ function G({
5
+ value: r,
6
+ defaultValue: F,
7
+ onChange: m
8
+ }) {
9
+ const R = n(r !== void 0), f = R.current, [u, x] = E(
10
+ () => v(f ? r ?? null : F ?? null)
11
+ ), [B, S] = E(!1), c = n(u), s = n(/* @__PURE__ */ new Set()), g = n(!1), p = {
12
+ day: T("day", u.day),
13
+ month: T("month", u.month),
14
+ year: T("year", u.year)
15
+ }, D = C(p), h = n(D), b = n(
16
+ f ? r ?? null : null
17
+ ), o = n(m);
18
+ j(() => {
19
+ o.current = m;
20
+ }, [m]), j(() => {
21
+ if (!R.current || g.current || w(r ?? null, b.current)) return;
22
+ b.current = r ?? null;
23
+ const e = v(r ?? null);
24
+ c.current = e, x(e), h.current = A(e);
25
+ }, [r]);
26
+ const a = i((e) => {
27
+ var d;
28
+ const t = A(e);
29
+ w(t, h.current) || (h.current = t, (d = o.current) == null || d.call(o, t));
30
+ }, []), N = i(
31
+ (e, t) => {
32
+ const d = s.current.has(e) ? "" : c.current[e], l = I(e, d, t);
33
+ if (l.rejected) return { advanced: !1, rejected: !0 };
34
+ const y = { ...c.current, [e]: l.newBuffer };
35
+ return c.current = y, x(y), S(!0), a(y), l.shouldAdvance ? s.current.add(e) : s.current.delete(e), { advanced: l.shouldAdvance, rejected: !1 };
36
+ },
37
+ [a]
38
+ ), k = i((e) => {
39
+ g.current = !0, s.current.add(e);
40
+ }, []), z = i(() => {
41
+ g.current = !1;
42
+ const e = c.current, t = {
43
+ day: V("day", e.day),
44
+ month: V("month", e.month),
45
+ year: V("year", e.year)
46
+ };
47
+ c.current = t, x(t), S(!0), a(t);
48
+ }, [a]);
49
+ return {
50
+ segmentText: u,
51
+ segmentValues: p,
52
+ currentValue: D,
53
+ isControlled: f,
54
+ wasTouched: B,
55
+ appendDigit: N,
56
+ beginSegmentEdit: k,
57
+ commitOnBlur: z
58
+ };
59
+ }
60
+ export {
61
+ G as useDateFieldValue
62
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),o=({formInvalid:e,valueInvalid:t})=>s.useMemo(()=>e||t,[e,t]);exports.useInvalidState=o;
@@ -0,0 +1,13 @@
1
+ export interface UseInvalidStateArgs {
2
+ /** Invalid flag from `useDateFieldForm` (consumer error prop OR validator
3
+ * result). */
4
+ formInvalid: boolean;
5
+ /** Invalid flag from `useDateFieldValidity` (cross-segment Feb 30,
6
+ * partial-on-blur). */
7
+ valueInvalid: boolean;
8
+ }
9
+ /** Aggregates all error-state sources into a single flag for the
10
+ * `.date-field--error` modifier class. Scaffolding for DF-10 (minDate /
11
+ * maxDate) and any future validity rules — they slot in as new args here
12
+ * without touching the orchestrator's JSX. */
13
+ export declare const useInvalidState: ({ formInvalid, valueInvalid, }: UseInvalidStateArgs) => boolean;
@@ -0,0 +1,8 @@
1
+ import { useMemo as o } from "react";
2
+ const m = ({
3
+ formInvalid: t,
4
+ valueInvalid: e
5
+ }) => o(() => t || e, [t, e]);
6
+ export {
7
+ m as useInvalidState
8
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),i=require("clsx"),u=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const e=require("../../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:m}=u.getBEMClassNames("panel"),t=({layout:n="end",children:o,className:a,...c})=>{const s=`${m}footer__actions`,r=i(e.styles[s],e.styles[`${s}--${n}`],a);return l.jsx("div",{className:r,...c,children:o})};t.displayName="Panel.Footer.Actions";exports.Actions=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),i=require("clsx"),u=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const e=require("../../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:m}=u.getBEMClassNames("panel"),t=({layout:n="end",children:o,className:a,...c})=>{const s=`${m}footer__actions`,r=i(e.styles[s],e.styles[`${s}--${n}`],a);return l.jsx("div",{className:r,...c,children:o})};t.displayName="Panel.Footer.Actions";exports.Actions=t;
@@ -2,7 +2,7 @@ import { jsx as n } from "react/jsx-runtime";
2
2
  import i from "clsx";
3
3
  import { g as c } from "../../../../chunks/classNames.BTJmrO_L.js";
4
4
  import "../../../../chunks/constants.CKKGf1-i.js";
5
- import { s as o } from "../../../../chunks/panel.module.BblnuBjO.js";
5
+ import { s as o } from "../../../../chunks/panel.module.CnHWv4EZ.js";
6
6
  const { subElementClassPrefix: l } = c("panel"), p = ({
7
7
  layout: t = "end",
8
8
  children: a,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("clsx"),_=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const u=require("../../../Divider/Divider.cjs.js"),m=require("../../../Box/Box.cjs.js"),b=require("../Panel.helpers.cjs.js"),d=require("./Panel.Footer.Actions.cjs.js"),q=require("../../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:x}=_.getBEMClassNames("panel"),P=`${x}footer`,s=({children:r,className:o,divider:t=!0,dividerColor:i=b.DEFAULT_PANEL_DIVIDER_COLOR,backgroundColor:n,...l})=>{const a=c(q.styles[P],o);return e.jsxs(e.Fragment,{children:[t&&e.jsx(u.Divider,{borderColor:i}),e.jsx(m.Box,{as:"footer",className:a,backgroundColor:n,...l,children:r})]})};s.displayName="Panel.Footer";s.Actions=d.Actions;exports.Footer=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("clsx"),_=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const u=require("../../../Divider/Divider.cjs.js"),m=require("../../../Box/Box.cjs.js"),b=require("../Panel.helpers.cjs.js"),d=require("./Panel.Footer.Actions.cjs.js"),q=require("../../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:x}=_.getBEMClassNames("panel"),P=`${x}footer`,s=({children:r,className:o,divider:t=!0,dividerColor:i=b.DEFAULT_PANEL_DIVIDER_COLOR,backgroundColor:n,...l})=>{const a=c(q.styles[P],o);return e.jsxs(e.Fragment,{children:[t&&e.jsx(u.Divider,{borderColor:i}),e.jsx(m.Box,{as:"footer",className:a,backgroundColor:n,...l,children:r})]})};s.displayName="Panel.Footer";s.Actions=d.Actions;exports.Footer=s;
@@ -6,7 +6,7 @@ import { Divider as x } from "../../../Divider/Divider.es.js";
6
6
  import { Box as C } from "../../../Box/Box.es.js";
7
7
  import { DEFAULT_PANEL_DIVIDER_COLOR as E } from "../Panel.helpers.es.js";
8
8
  import { Actions as N } from "./Panel.Footer.Actions.es.js";
9
- import { s as d } from "../../../../chunks/panel.module.BblnuBjO.js";
9
+ import { s as d } from "../../../../chunks/panel.module.CnHWv4EZ.js";
10
10
  const { subElementClassPrefix: A } = c("panel"), D = `${A}footer`, r = ({
11
11
  children: s,
12
12
  className: t,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("clsx"),o=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const c=require("../../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:i}=o.getBEMClassNames("panel"),u=`${i}header`,e=({children:s,className:t,...n})=>{const r=l(c.styles[`${u}__content-after`],t);return a.jsx("div",{className:r,...n,children:s})};e.displayName="Panel.Header.ContentAfter";exports.ContentAfter=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("clsx"),o=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const c=require("../../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:i}=o.getBEMClassNames("panel"),u=`${i}header`,e=({children:s,className:t,...n})=>{const r=l(c.styles[`${u}__content-after`],t);return a.jsx("div",{className:r,...n,children:s})};e.displayName="Panel.Header.ContentAfter";exports.ContentAfter=e;
@@ -2,7 +2,7 @@ import { jsx as r } from "react/jsx-runtime";
2
2
  import o from "clsx";
3
3
  import { g as m } from "../../../../chunks/classNames.BTJmrO_L.js";
4
4
  import "../../../../chunks/constants.CKKGf1-i.js";
5
- import { s as n } from "../../../../chunks/panel.module.BblnuBjO.js";
5
+ import { s as n } from "../../../../chunks/panel.module.CnHWv4EZ.js";
6
6
  const { subElementClassPrefix: l } = m("panel"), c = `${l}header`, f = ({
7
7
  children: s,
8
8
  className: e,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),a=require("clsx"),l=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const c=require("../../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:i}=l.getBEMClassNames("panel"),u=`${i}header`,e=({children:s,className:t,...n})=>{const r=a(c.styles[`${u}__content-before`],t);return o.jsx("div",{className:r,...n,children:s})};e.displayName="Panel.Header.ContentBefore";exports.ContentBefore=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),a=require("clsx"),l=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const c=require("../../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:i}=l.getBEMClassNames("panel"),u=`${i}header`,e=({children:s,className:t,...n})=>{const r=a(c.styles[`${u}__content-before`],t);return o.jsx("div",{className:r,...n,children:s})};e.displayName="Panel.Header.ContentBefore";exports.ContentBefore=e;
@@ -2,7 +2,7 @@ import { jsx as r } from "react/jsx-runtime";
2
2
  import a from "clsx";
3
3
  import { g as m } from "../../../../chunks/classNames.BTJmrO_L.js";
4
4
  import "../../../../chunks/constants.CKKGf1-i.js";
5
- import { s as n } from "../../../../chunks/panel.module.BblnuBjO.js";
5
+ import { s as n } from "../../../../chunks/panel.module.CnHWv4EZ.js";
6
6
  const { subElementClassPrefix: l } = m("panel"), c = `${l}header`, f = ({
7
7
  children: e,
8
8
  className: s,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),n=require("clsx"),c=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const l=require("../../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:o}=c.getBEMClassNames("panel"),u=`${o}header`,e=({children:s,className:r,...t})=>{const a=n(l.styles[`${u}__description`],r);return i.jsx("div",{className:a,...t,children:s})};e.displayName="Panel.Header.Description";exports.Description=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),n=require("clsx"),c=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const l=require("../../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:o}=c.getBEMClassNames("panel"),u=`${o}header`,e=({children:s,className:r,...t})=>{const a=n(l.styles[`${u}__description`],r);return i.jsx("div",{className:a,...t,children:s})};e.displayName="Panel.Header.Description";exports.Description=e;
@@ -2,7 +2,7 @@ import { jsx as o } from "react/jsx-runtime";
2
2
  import t from "clsx";
3
3
  import { g as i } from "../../../../chunks/classNames.BTJmrO_L.js";
4
4
  import "../../../../chunks/constants.CKKGf1-i.js";
5
- import { s as m } from "../../../../chunks/panel.module.BblnuBjO.js";
5
+ import { s as m } from "../../../../chunks/panel.module.CnHWv4EZ.js";
6
6
  const { subElementClassPrefix: l } = i("panel"), n = `${l}header`, p = ({
7
7
  children: s,
8
8
  className: e,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("react/jsx-runtime"),o=require("react"),g=require("clsx"),m=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const q=require("../../../../chunks/FloatingUI.context.B15Tz_4h.js"),b=require("../Panel.context.cjs.js"),x=require("../../../../utils/hooks/useId.cjs.js"),I=require("../../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:y}=m.getBEMClassNames("panel"),P=`${y}header`,a=({children:r,className:i,id:c,...l})=>{const u=x.useId(),e=c??u,d=g(I.styles[`${P}__heading`],i),t=o.useContext(b.PanelContext),n=o.useContext(q.BmFloatingUIContext),s=(t==null?void 0:t.kind)==="overlay"?n==null?void 0:n.setLabelId:void 0;return o.useLayoutEffect(()=>{if(!(!s||!e))return s(e),()=>s(void 0)},[e,s]),_.jsx("div",{id:e,className:d,...l,children:r})};a.displayName="Panel.Header.Heading";exports.Heading=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("react/jsx-runtime"),o=require("react"),g=require("clsx"),m=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const q=require("../../../../chunks/FloatingUI.context.B15Tz_4h.js"),b=require("../Panel.context.cjs.js"),x=require("../../../../utils/hooks/useId.cjs.js"),I=require("../../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:y}=m.getBEMClassNames("panel"),P=`${y}header`,a=({children:r,className:i,id:c,...l})=>{const u=x.useId(),e=c??u,d=g(I.styles[`${P}__heading`],i),t=o.useContext(b.PanelContext),n=o.useContext(q.BmFloatingUIContext),s=(t==null?void 0:t.kind)==="overlay"?n==null?void 0:n.setLabelId:void 0;return o.useLayoutEffect(()=>{if(!(!s||!e))return s(e),()=>s(void 0)},[e,s]),_.jsx("div",{id:e,className:d,...l,children:r})};a.displayName="Panel.Header.Heading";exports.Heading=a;
@@ -6,7 +6,7 @@ import "../../../../chunks/constants.CKKGf1-i.js";
6
6
  import { B as g } from "../../../../chunks/FloatingUI.context.Dl4Y1y1z.js";
7
7
  import { PanelContext as x } from "../Panel.context.es.js";
8
8
  import { useId as I } from "../../../../utils/hooks/useId.es.js";
9
- import { s as b } from "../../../../chunks/panel.module.BblnuBjO.js";
9
+ import { s as b } from "../../../../chunks/panel.module.CnHWv4EZ.js";
10
10
  const { subElementClassPrefix: v } = u("panel"), y = `${v}header`, C = ({
11
11
  children: a,
12
12
  className: m,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("clsx"),b=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const m=require("../../../CloseButton/CloseButton.cjs.js"),_=require("../../../Tooltip/Tooltip.cjs.js"),p=require("../Panel.context.cjs.js"),t=require("../../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:x}=b.getBEMClassNames("panel"),l=`${x}header`,o=({children:n,className:r,...a})=>{const{dismissible:i,closeButtonAriaLabel:s,requestClose:c}=p.usePanelContext(),u=d(t.styles[`${l}__row`],r);return e.jsxs("div",{className:u,...a,children:[n,i&&e.jsx("div",{className:t.styles[`${l}__close-button`],children:e.jsx(_.Tooltip,{text:s,placement:"bottom",portalled:!0,role:{enabled:!1},children:e.jsx(m.CloseButton,{"aria-label":s,onClick:()=>c("closeButton"),size:"lg"})})})]})};o.displayName="Panel.Header.Row";exports.Row=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("clsx"),b=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const m=require("../../../CloseButton/CloseButton.cjs.js"),_=require("../../../Tooltip/Tooltip.cjs.js"),p=require("../Panel.context.cjs.js"),t=require("../../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:x}=b.getBEMClassNames("panel"),l=`${x}header`,o=({children:n,className:r,...a})=>{const{dismissible:i,closeButtonAriaLabel:s,requestClose:c}=p.usePanelContext(),u=d(t.styles[`${l}__row`],r);return e.jsxs("div",{className:u,...a,children:[n,i&&e.jsx("div",{className:t.styles[`${l}__close-button`],children:e.jsx(_.Tooltip,{text:s,placement:"bottom",portalled:!0,role:{enabled:!1},children:e.jsx(m.CloseButton,{"aria-label":s,onClick:()=>c("closeButton"),size:"lg"})})})]})};o.displayName="Panel.Header.Row";exports.Row=o;
@@ -5,7 +5,7 @@ import "../../../../chunks/constants.CKKGf1-i.js";
5
5
  import { CloseButton as f } from "../../../CloseButton/CloseButton.es.js";
6
6
  import { Tooltip as u } from "../../../Tooltip/Tooltip.es.js";
7
7
  import { usePanelContext as b } from "../Panel.context.es.js";
8
- import { s as o } from "../../../../chunks/panel.module.BblnuBjO.js";
8
+ import { s as o } from "../../../../chunks/panel.module.CnHWv4EZ.js";
9
9
  const { subElementClassPrefix: x } = d("panel"), t = `${x}header`, C = ({
10
10
  children: l,
11
11
  className: r,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),n=require("clsx"),u=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const c=require("../../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:o}=u.getBEMClassNames("panel"),i=`${o}header`,e=({children:s,className:a,...r})=>{const t=n(c.styles[`${i}__subheader`],a);return l.jsx("div",{className:t,...r,children:s})};e.displayName="Panel.Header.Subheader";exports.Subheader=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),n=require("clsx"),u=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const c=require("../../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:o}=u.getBEMClassNames("panel"),i=`${o}header`,e=({children:s,className:a,...r})=>{const t=n(c.styles[`${i}__subheader`],a);return l.jsx("div",{className:t,...r,children:s})};e.displayName="Panel.Header.Subheader";exports.Subheader=e;
@@ -2,7 +2,7 @@ import { jsx as m } from "react/jsx-runtime";
2
2
  import o from "clsx";
3
3
  import { g as t } from "../../../../chunks/classNames.BTJmrO_L.js";
4
4
  import "../../../../chunks/constants.CKKGf1-i.js";
5
- import { s as l } from "../../../../chunks/panel.module.BblnuBjO.js";
5
+ import { s as l } from "../../../../chunks/panel.module.CnHWv4EZ.js";
6
6
  const { subElementClassPrefix: i } = t("panel"), n = `${i}header`, p = ({
7
7
  children: s,
8
8
  className: e,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),o=require("clsx"),d=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const c=require("../../../Divider/Divider.cjs.js"),u=require("../../../Box/Box.cjs.js"),H=require("../Panel.helpers.cjs.js"),P=require("./Panel.Header.Row.cjs.js"),b=require("./Panel.Header.ContentBefore.cjs.js"),p=require("./Panel.Header.Heading.cjs.js"),q=require("./Panel.Header.ContentAfter.cjs.js"),C=require("./Panel.Header.Description.cjs.js"),m=require("./Panel.Header.Subheader.cjs.js"),w=require("../../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:x}=d.getBEMClassNames("panel"),D=`${x}header`,e=({children:n,className:a,divider:i=!0,dividerColor:s=H.DEFAULT_PANEL_DIVIDER_COLOR,backgroundColor:t,..._})=>{const l=o(w.styles[D],a);return r.jsxs(r.Fragment,{children:[r.jsx(u.Box,{as:"header",className:l,backgroundColor:t,..._,children:n}),i&&r.jsx(c.Divider,{borderColor:s})]})};e.displayName="Panel.Header";e.Row=P.Row;e.ContentBefore=b.ContentBefore;e.Heading=p.Heading;e.Description=C.Description;e.ContentAfter=q.ContentAfter;e.Subheader=m.Subheader;exports.Header=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),o=require("clsx"),d=require("../../../../chunks/classNames.DAeKwerT.js");require("../../../../chunks/constants.hwjHOsvT.js");const c=require("../../../Divider/Divider.cjs.js"),u=require("../../../Box/Box.cjs.js"),H=require("../Panel.helpers.cjs.js"),P=require("./Panel.Header.Row.cjs.js"),b=require("./Panel.Header.ContentBefore.cjs.js"),p=require("./Panel.Header.Heading.cjs.js"),q=require("./Panel.Header.ContentAfter.cjs.js"),C=require("./Panel.Header.Description.cjs.js"),m=require("./Panel.Header.Subheader.cjs.js"),w=require("../../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:x}=d.getBEMClassNames("panel"),D=`${x}header`,e=({children:n,className:a,divider:i=!0,dividerColor:s=H.DEFAULT_PANEL_DIVIDER_COLOR,backgroundColor:t,..._})=>{const l=o(w.styles[D],a);return r.jsxs(r.Fragment,{children:[r.jsx(u.Box,{as:"header",className:l,backgroundColor:t,..._,children:n}),i&&r.jsx(c.Divider,{borderColor:s})]})};e.displayName="Panel.Header";e.Row=P.Row;e.ContentBefore=b.ContentBefore;e.Heading=p.Heading;e.Description=C.Description;e.ContentAfter=q.ContentAfter;e.Subheader=m.Subheader;exports.Header=e;
@@ -11,7 +11,7 @@ import { Heading as g } from "./Panel.Header.Heading.es.js";
11
11
  import { ContentAfter as h } from "./Panel.Header.ContentAfter.es.js";
12
12
  import { Description as u } from "./Panel.Header.Description.es.js";
13
13
  import { Subheader as E } from "./Panel.Header.Subheader.es.js";
14
- import { s as N } from "../../../../chunks/panel.module.BblnuBjO.js";
14
+ import { s as N } from "../../../../chunks/panel.module.CnHWv4EZ.js";
15
15
  const { subElementClassPrefix: A } = d("panel"), B = `${A}header`, r = ({
16
16
  children: e,
17
17
  className: t,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),n=require("clsx"),c=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const i=require("../../Box/Box.cjs.js"),u=require("../../../chunks/panel.module.CVyUzyCZ.js"),{subElementClassPrefix:m}=c.getBEMClassNames("panel"),d=`${m}body`,e=({children:s,className:o,backgroundColor:t,...r})=>{const a=n(u.styles[d],o);return l.jsx(i.Box,{className:a,backgroundColor:t,...r,children:s})};e.displayName="Panel.Body";exports.Body=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),n=require("clsx"),c=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const i=require("../../Box/Box.cjs.js"),u=require("../../../chunks/panel.module.BVmRxZHo.js"),{subElementClassPrefix:m}=c.getBEMClassNames("panel"),d=`${m}body`,e=({children:s,className:o,backgroundColor:t,...r})=>{const a=n(u.styles[d],o);return l.jsx(i.Box,{className:a,backgroundColor:t,...r,children:s})};e.displayName="Panel.Body";exports.Body=e;