@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
@@ -3,7 +3,7 @@ import e from "clsx";
3
3
  import { g as l } from "../../../chunks/classNames.BTJmrO_L.js";
4
4
  import "../../../chunks/constants.CKKGf1-i.js";
5
5
  import { Box as p } from "../../Box/Box.es.js";
6
- import { s as i } from "../../../chunks/panel.module.BblnuBjO.js";
6
+ import { s as i } from "../../../chunks/panel.module.CnHWv4EZ.js";
7
7
  const { subElementClassPrefix: n } = l("panel"), c = `${n}body`, f = ({
8
8
  children: s,
9
9
  className: o,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),q=require("@floating-ui/react"),b=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const F=require("./Panel.context.cjs.js"),R=require("../../FloatingUI/FloatingUI.root.cjs.js"),h=require("../../../chunks/FloatingUI.context.B15Tz_4h.js"),g=require("./Panel.Divider.cjs.js"),w=require("./Panel.ResizeHandle.cjs.js"),U=require("./Panel.useResize.cjs.js"),N=require("../../../chunks/panel.module.CVyUzyCZ.js"),{baseClassNamePrefix:v}=b.getBEMClassNames("panel"),y=({children:a,panelClassName:l,inlineWrapperClassName:r,resolvedPosition:n,dividerBefore:o,dividerInner:c,dividerAfter:u,alwaysVisible:i,skipMountAnimation:_,dividerColor:t,resizeConfig:s,...x})=>{const{context:d,transitionConfig:p,refs:j}=h.useBmFloatingUIContext(),{isMounted:P,status:I}=q.useTransitionStatus(d,p),f=(i||_)&&I==="initial"?"open":I,{handleRef:m}=U.usePanelResize({resizeConfig:s,position:n,floatingRef:j.floating});return P?e.jsxs(e.Fragment,{children:[o&&e.jsx(g.InlineDivider,{position:n,dividerColor:t}),e.jsx("div",{ref:j.setFloating,className:r,"data-position":n,"data-status":f,children:e.jsxs("div",{className:N.styles[`${v}__inline-wrapper-content`],children:[c&&e.jsx(g.InlineDivider,{position:n,dividerColor:t}),e.jsxs("aside",{...x,className:l,children:[a,s&&e.jsx(w.PanelResizeHandle,{ref:m})]})]})}),u&&e.jsx(g.InlineDivider,{position:n,dividerColor:t})]}):null},C=({contextValue:a,panelClassName:l,inlineWrapperClassName:r,resolvedPosition:n,dividerBefore:o,dividerInner:c,dividerAfter:u,open:i,transitionConfig:_,dividerColor:t,children:s,resizeConfig:x,skipMountAnimation:d,...p})=>e.jsx(F.PanelContext.Provider,{value:a,children:e.jsx(R.FloatingUIRoot,{open:i??!0,portalled:!1,transitionConfig:_,children:e.jsx(y,{panelClassName:l,inlineWrapperClassName:r,resolvedPosition:n,dividerBefore:o,dividerInner:c,dividerAfter:u,dividerColor:t,alwaysVisible:i===void 0,skipMountAnimation:d,resizeConfig:x,...p,children:s})})});exports.InlinePanel=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),b=require("@floating-ui/react"),F=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const R=require("./Panel.context.cjs.js"),h=require("../../FloatingUI/FloatingUI.root.cjs.js"),w=require("../../../chunks/FloatingUI.context.B15Tz_4h.js"),j=require("./Panel.Divider.cjs.js"),U=require("./Panel.ResizeHandle.cjs.js"),N=require("./Panel.useResize.cjs.js"),y=require("../../../chunks/panel.module.BVmRxZHo.js"),{baseClassNamePrefix:v}=F.getBEMClassNames("panel"),C=({children:a,panelClassName:l,inlineWrapperClassName:r,resolvedPosition:n,dividerBefore:o,dividerInner:c,dividerAfter:u,alwaysVisible:i,skipMountAnimation:_,dividerColor:t,resizeConfig:s,sizeStyle:x,...d})=>{const{context:p,transitionConfig:g,refs:I}=w.useBmFloatingUIContext(),{isMounted:f,status:P}=b.useTransitionStatus(p,g),m=(i||_)&&P==="initial"?"open":P,{handleRef:q}=N.usePanelResize({resizeConfig:s,position:n,floatingRef:I.floating});return f?e.jsxs(e.Fragment,{children:[o&&e.jsx(j.InlineDivider,{position:n,dividerColor:t}),e.jsx("div",{ref:I.setFloating,className:r,"data-position":n,"data-status":m,style:x,children:e.jsxs("div",{className:y.styles[`${v}__inline-wrapper-content`],children:[c&&e.jsx(j.InlineDivider,{position:n,dividerColor:t}),e.jsxs("aside",{...d,className:l,children:[a,s&&e.jsx(U.PanelResizeHandle,{ref:q})]})]})}),u&&e.jsx(j.InlineDivider,{position:n,dividerColor:t})]}):null},D=({contextValue:a,panelClassName:l,inlineWrapperClassName:r,resolvedPosition:n,dividerBefore:o,dividerInner:c,dividerAfter:u,open:i,transitionConfig:_,dividerColor:t,children:s,resizeConfig:x,sizeStyle:d,skipMountAnimation:p,...g})=>e.jsx(R.PanelContext.Provider,{value:a,children:e.jsx(h.FloatingUIRoot,{open:i??!0,portalled:!1,transitionConfig:_,children:e.jsx(C,{panelClassName:l,inlineWrapperClassName:r,resolvedPosition:n,dividerBefore:o,dividerInner:c,dividerAfter:u,dividerColor:t,alwaysVisible:i===void 0,skipMountAnimation:p,resizeConfig:x,sizeStyle:d,...g,children:s})})});exports.InlinePanel=D;
@@ -14,8 +14,10 @@ type InlinePanelProps = {
14
14
  children: React.ReactNode;
15
15
  dividerColor?: PanelDividerColor;
16
16
  resizeConfig?: PanelResizeConfig;
17
+ /** Forwarded from Panel: CSS custom-property override for the panel size. */
18
+ sizeStyle?: React.CSSProperties;
17
19
  /** Forwarded from Panel: when true, suppress the slide-in animation on this mount. */
18
20
  skipMountAnimation?: boolean;
19
21
  } & React.ComponentPropsWithoutRef<'aside'>;
20
- export declare const InlinePanel: ({ contextValue, panelClassName, inlineWrapperClassName, resolvedPosition, dividerBefore, dividerInner, dividerAfter, open, transitionConfig, dividerColor, children, resizeConfig, skipMountAnimation, ...props }: InlinePanelProps) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const InlinePanel: ({ contextValue, panelClassName, inlineWrapperClassName, resolvedPosition, dividerBefore, dividerInner, dividerAfter, open, transitionConfig, dividerColor, children, resizeConfig, sizeStyle, skipMountAnimation, ...props }: InlinePanelProps) => import("react/jsx-runtime").JSX.Element;
21
23
  export {};
@@ -1,16 +1,16 @@
1
- import { jsx as t, jsxs as g, Fragment as F } from "react/jsx-runtime";
2
- import { useTransitionStatus as w } from "@floating-ui/react";
1
+ import { jsx as t, jsxs as x, Fragment as w } from "react/jsx-runtime";
2
+ import { useTransitionStatus as y } from "@floating-ui/react";
3
3
  import { g as P } from "../../../chunks/classNames.BTJmrO_L.js";
4
4
  import "../../../chunks/constants.CKKGf1-i.js";
5
5
  import { PanelContext as U } from "./Panel.context.es.js";
6
6
  import { FloatingUIRoot as b } from "../../FloatingUI/FloatingUI.root.es.js";
7
7
  import { a as j } from "../../../chunks/FloatingUI.context.Dl4Y1y1z.js";
8
- import { InlineDivider as x } from "./Panel.Divider.es.js";
9
- import { PanelResizeHandle as y } from "./Panel.ResizeHandle.es.js";
10
- import { usePanelResize as B } from "./Panel.useResize.es.js";
11
- import { s as M } from "../../../chunks/panel.module.BblnuBjO.js";
12
- const { baseClassNamePrefix: S } = P("panel"), _ = ({
13
- children: s,
8
+ import { InlineDivider as h } from "./Panel.Divider.es.js";
9
+ import { PanelResizeHandle as B } from "./Panel.ResizeHandle.es.js";
10
+ import { usePanelResize as M } from "./Panel.useResize.es.js";
11
+ import { s as S } from "../../../chunks/panel.module.CnHWv4EZ.js";
12
+ const { baseClassNamePrefix: _ } = P("panel"), z = ({
13
+ children: i,
14
14
  panelClassName: o,
15
15
  inlineWrapperClassName: r,
16
16
  resolvedPosition: n,
@@ -20,43 +20,45 @@ const { baseClassNamePrefix: S } = P("panel"), _ = ({
20
20
  alwaysVisible: e,
21
21
  skipMountAnimation: f,
22
22
  dividerColor: a,
23
- resizeConfig: i,
24
- ...c
23
+ resizeConfig: s,
24
+ sizeStyle: c,
25
+ ...u
25
26
  }) => {
26
27
  const {
27
- context: u,
28
- transitionConfig: d,
29
- refs: h
30
- } = j(), { isMounted: N, status: I } = w(
31
- u,
32
- d
33
- ), R = (e || f) && I === "initial" ? "open" : I, { handleRef: C } = B({
34
- resizeConfig: i,
28
+ context: d,
29
+ transitionConfig: g,
30
+ refs: I
31
+ } = j(), { isMounted: R, status: N } = y(
32
+ d,
33
+ g
34
+ ), C = (e || f) && N === "initial" ? "open" : N, { handleRef: F } = M({
35
+ resizeConfig: s,
35
36
  position: n,
36
- floatingRef: h.floating
37
+ floatingRef: I.floating
37
38
  });
38
- return N ? /* @__PURE__ */ g(F, { children: [
39
- l && /* @__PURE__ */ t(x, { position: n, dividerColor: a }),
39
+ return R ? /* @__PURE__ */ x(w, { children: [
40
+ l && /* @__PURE__ */ t(h, { position: n, dividerColor: a }),
40
41
  /* @__PURE__ */ t(
41
42
  "div",
42
43
  {
43
- ref: h.setFloating,
44
+ ref: I.setFloating,
44
45
  className: r,
45
46
  "data-position": n,
46
- "data-status": R,
47
- children: /* @__PURE__ */ g("div", { className: M[`${S}__inline-wrapper-content`], children: [
48
- m && /* @__PURE__ */ t(x, { position: n, dividerColor: a }),
49
- /* @__PURE__ */ g("aside", { ...c, className: o, children: [
50
- s,
51
- i && /* @__PURE__ */ t(y, { ref: C })
47
+ "data-status": C,
48
+ style: c,
49
+ children: /* @__PURE__ */ x("div", { className: S[`${_}__inline-wrapper-content`], children: [
50
+ m && /* @__PURE__ */ t(h, { position: n, dividerColor: a }),
51
+ /* @__PURE__ */ x("aside", { ...u, className: o, children: [
52
+ i,
53
+ s && /* @__PURE__ */ t(B, { ref: F })
52
54
  ] })
53
55
  ] })
54
56
  }
55
57
  ),
56
- p && /* @__PURE__ */ t(x, { position: n, dividerColor: a })
58
+ p && /* @__PURE__ */ t(h, { position: n, dividerColor: a })
57
59
  ] }) : null;
58
- }, G = ({
59
- contextValue: s,
60
+ }, J = ({
61
+ contextValue: i,
60
62
  panelClassName: o,
61
63
  inlineWrapperClassName: r,
62
64
  resolvedPosition: n,
@@ -66,18 +68,19 @@ const { baseClassNamePrefix: S } = P("panel"), _ = ({
66
68
  open: e,
67
69
  transitionConfig: f,
68
70
  dividerColor: a,
69
- children: i,
71
+ children: s,
70
72
  resizeConfig: c,
71
- skipMountAnimation: u,
72
- ...d
73
- }) => /* @__PURE__ */ t(U.Provider, { value: s, children: /* @__PURE__ */ t(
73
+ sizeStyle: u,
74
+ skipMountAnimation: d,
75
+ ...g
76
+ }) => /* @__PURE__ */ t(U.Provider, { value: i, children: /* @__PURE__ */ t(
74
77
  b,
75
78
  {
76
79
  open: e ?? !0,
77
80
  portalled: !1,
78
81
  transitionConfig: f,
79
82
  children: /* @__PURE__ */ t(
80
- _,
83
+ z,
81
84
  {
82
85
  panelClassName: o,
83
86
  inlineWrapperClassName: r,
@@ -87,14 +90,15 @@ const { baseClassNamePrefix: S } = P("panel"), _ = ({
87
90
  dividerAfter: p,
88
91
  dividerColor: a,
89
92
  alwaysVisible: e === void 0,
90
- skipMountAnimation: u,
93
+ skipMountAnimation: d,
91
94
  resizeConfig: c,
92
- ...d,
93
- children: i
95
+ sizeStyle: u,
96
+ ...g,
97
+ children: s
94
98
  }
95
99
  )
96
100
  }
97
101
  ) });
98
102
  export {
99
- G as InlinePanel
103
+ J as InlinePanel
100
104
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),p=require("clsx"),F=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const I=require("./Panel.context.cjs.js"),j=require("./Panel.helpers.cjs.js"),C=require("../../FloatingUI/FloatingUI.root.cjs.js"),R=require("../../FloatingUI/FloatingUI.content.cjs.js"),U=require("../../../chunks/FloatingUI.context.B15Tz_4h.js"),N=require("./Panel.Divider.cjs.js"),h=require("./Panel.ResizeHandle.cjs.js"),w=require("./Panel.useResize.cjs.js"),v=require("../../../chunks/panel.module.CVyUzyCZ.js"),{baseClassNamePrefix:y,variable:b}=F.getBEMClassNames("panel"),D=({children:a,panelClassName:r,resolvedPosition:e,showDivider:o,dividerColor:n,resizeConfig:s,floatingOffset:i,overlayDividerClassName:c,isBlocking:u,skipMountAnimation:_,style:t,...d})=>{const{refs:g}=U.useBmFloatingUIContext(),{handleRef:P}=w.usePanelResize({resizeConfig:s,position:e,floatingRef:g.floating,requireMount:!0}),x=i?{...t,[b("offset-x")]:i.x,[b("offset-y")]:i.y}:t;return l.jsxs(R.Content,{className:r,skipFloatingStyles:!0,overlay:u,...d,style:x,"data-position":e,..._?{"data-status":"open"}:{},children:[a,o&&l.jsx(N.InlineDivider,{position:e,className:c,dividerColor:n}),s&&l.jsx(h.PanelResizeHandle,{ref:P})]})},M=({contextValue:a,panelClassName:r,resolvedPosition:e,showDivider:o,modalType:n,closeOnOutsidePress:s,floatingOffset:i,open:c,onOpenChange:u,transitionConfig:_,dividerColor:t,children:d,resizeConfig:g,skipMountAnimation:P,...x})=>{const q=n==="isModal"||n==="alert",f=j.getPanelDismissConfig(n,s),m=p(v.styles[`${y}__overlay-divider`],v.styles[`${y}__overlay-divider--${e}`]);return l.jsx(I.PanelContext.Provider,{value:a,children:l.jsx(C.FloatingUIRoot,{open:c,onOpenChange:u,portalled:!0,transitionConfig:_,dismiss:f,focusConfiguration:q?!0:{modal:!1,closeOnFocusOut:!1},children:l.jsx(D,{panelClassName:r,resolvedPosition:e,showDivider:o,dividerColor:t,floatingOffset:i,overlayDividerClassName:m,isBlocking:q,resizeConfig:g,skipMountAnimation:P,...x,role:n==="alert"?"alertdialog":"dialog","aria-modal":q||void 0,children:d})})})};exports.OverlayPanel=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),M=require("clsx"),g=require("react"),h=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const w=require("./Panel.context.cjs.js"),S=require("./Panel.helpers.cjs.js"),k=require("../../FloatingUI/FloatingUI.root.cjs.js"),D=require("../../FloatingUI/FloatingUI.content.cjs.js"),B=require("../../../chunks/FloatingUI.context.B15Tz_4h.js"),$=require("./Panel.Divider.cjs.js"),z=require("./Panel.ResizeHandle.cjs.js"),A=require("./Panel.useResize.cjs.js"),p=require("../../../chunks/panel.module.BVmRxZHo.js"),{baseClassNamePrefix:C,variable:f}=h.getBEMClassNames("panel");function H(s,t,e){if(!(!s&&!t&&!e))return{...s,...t,...e?{[f("offset-x")]:e.x,[f("offset-y")]:e.y}:null}}const R=({children:s,panelClassName:t,resolvedPosition:e,showDivider:c,dividerColor:l,resizeConfig:a,floatingOffset:_,overlayDividerClassName:d,isBlocking:P,sizeStyle:v,skipMountAnimation:x,container:u,style:q,...b})=>{const{refs:y}=B.useBmFloatingUIContext(),{handleRef:r}=A.usePanelResize({resizeConfig:a,position:e,floatingRef:y.floating,requireMount:!0,container:u}),n=H(q,v,_);return i.jsxs(D.Content,{className:t,skipFloatingStyles:!0,overlay:P?u?{lockScroll:!1}:!0:!1,...b,style:n,"data-position":e,...x?{"data-status":"open"}:{},children:[s,c&&i.jsx($.InlineDivider,{position:e,className:d,dividerColor:l}),a&&i.jsx(z.PanelResizeHandle,{ref:r})]})},E=({contextValue:s,panelClassName:t,resolvedPosition:e,showDivider:c,modalType:l,closeOnOutsidePress:a,floatingOffset:_,open:d,onOpenChange:P,transitionConfig:v,dividerColor:x,children:u,resizeConfig:q,sizeStyle:b,skipMountAnimation:y,container:r,triggerRef:n,...j})=>{const m=l==="isModal"||l==="alert",I=g.useCallback(o=>{const F=(n==null?void 0:n.current)??null;return!(F&&o.target instanceof Node&&F.contains(o.target))},[n]),U=g.useMemo(()=>{const o=S.getPanelDismissConfig(l,a);return!n||!(l==="isModal"||l!=="alert"&&!!a)?o:{...o??{},outsidePress:I}},[l,a,n,I]),N=M(p.styles[`${C}__overlay-divider`],p.styles[`${C}__overlay-divider--${e}`]);return i.jsx(w.PanelContext.Provider,{value:s,children:i.jsx(k.FloatingUIRoot,{open:d,onOpenChange:P,portalled:r?{root:r}:!0,transitionConfig:v,dismiss:U,focusConfiguration:m?!0:{modal:!1,closeOnFocusOut:!1},children:i.jsx(R,{panelClassName:t,resolvedPosition:e,showDivider:c,dividerColor:x,floatingOffset:_,overlayDividerClassName:N,isBlocking:m,resizeConfig:q,sizeStyle:b,skipMountAnimation:y,container:r,...j,role:l==="alert"?"alertdialog":"dialog","aria-modal":m||void 0,children:u})})})};exports.OverlayPanel=E;
@@ -1,4 +1,5 @@
1
1
  import { UseTransitionStylesProps } from '@floating-ui/react';
2
+ import { ComponentPropsWithoutRef, CSSProperties, RefObject } from 'react';
2
3
  import { PanelDividerColor, PanelModalType, PanelPosition, PanelResizeConfig, ResolvedPanelOffset } from './Panel.types';
3
4
  import { PanelContextValue } from './Panel.context';
4
5
  import { FloatingUIProps } from '../../FloatingUI/FloatingUI.context';
@@ -16,8 +17,23 @@ type OverlayPanelProps = {
16
17
  children: React.ReactNode;
17
18
  dividerColor?: PanelDividerColor;
18
19
  resizeConfig?: PanelResizeConfig;
20
+ /** Forwarded from Panel: CSS custom-property override for the panel size. */
21
+ sizeStyle?: CSSProperties;
19
22
  /** Forwarded from Panel: when true, suppress the slide-in animation on this mount. */
20
23
  skipMountAnimation?: boolean;
21
- } & React.ComponentPropsWithoutRef<'aside'>;
22
- export declare const OverlayPanel: ({ contextValue, panelClassName, resolvedPosition, showDivider, modalType, closeOnOutsidePress, floatingOffset, open, onOpenChange, transitionConfig, dividerColor, children, resizeConfig, skipMountAnimation, ...props }: OverlayPanelProps) => import("react/jsx-runtime").JSX.Element;
24
+ /**
25
+ * Portal target; when set, panel renders inside this element using position: absolute.
26
+ * `undefined` means no container (full-screen). A pending container is handled upstream:
27
+ * Panel returns null before reaching here, so this is never `null`.
28
+ */
29
+ container?: HTMLElement;
30
+ /**
31
+ * The element that opens the panel; clicks on it are excluded from outside-press
32
+ * dismissal so it can toggle the panel without the close immediately re-firing.
33
+ * Focus returns to the previously-focused element (typically this trigger) on close.
34
+ * No effect on `kind="inline"`.
35
+ */
36
+ triggerRef?: RefObject<HTMLElement | null>;
37
+ } & ComponentPropsWithoutRef<'aside'>;
38
+ export declare const OverlayPanel: ({ contextValue, panelClassName, resolvedPosition, showDivider, modalType, closeOnOutsidePress, floatingOffset, open, onOpenChange, transitionConfig, dividerColor, children, resizeConfig, sizeStyle, skipMountAnimation, container, triggerRef, ...props }: OverlayPanelProps) => import("react/jsx-runtime").JSX.Element;
23
39
  export {};
@@ -1,115 +1,141 @@
1
- import { jsx as t, jsxs as R } from "react/jsx-runtime";
2
- import h from "clsx";
3
- import { g as F } from "../../../chunks/classNames.BTJmrO_L.js";
1
+ import { jsx as n, jsxs as B } from "react/jsx-runtime";
2
+ import D from "clsx";
3
+ import { useCallback as S, useMemo as $ } from "react";
4
+ import { g } from "../../../chunks/classNames.BTJmrO_L.js";
4
5
  import "../../../chunks/constants.CKKGf1-i.js";
5
- import { PanelContext as I } from "./Panel.context.es.js";
6
- import { getPanelDismissConfig as B } from "./Panel.helpers.es.js";
7
- import { FloatingUIRoot as D } from "../../FloatingUI/FloatingUI.root.es.js";
8
- import { Content as M } from "../../FloatingUI/FloatingUI.content.es.js";
9
- import { a as _ } from "../../../chunks/FloatingUI.context.Dl4Y1y1z.js";
10
- import { InlineDivider as $ } from "./Panel.Divider.es.js";
11
- import { PanelResizeHandle as b } from "./Panel.ResizeHandle.es.js";
12
- import { usePanelResize as j } from "./Panel.useResize.es.js";
13
- import { s as x } from "../../../chunks/panel.module.BblnuBjO.js";
14
- const { baseClassNamePrefix: y, variable: C } = F("panel"), k = ({
15
- children: i,
16
- panelClassName: l,
6
+ import { PanelContext as j } from "./Panel.context.es.js";
7
+ import { getPanelDismissConfig as A } from "./Panel.helpers.es.js";
8
+ import { FloatingUIRoot as U } from "../../FloatingUI/FloatingUI.root.es.js";
9
+ import { Content as q } from "../../FloatingUI/FloatingUI.content.es.js";
10
+ import { a as E } from "../../../chunks/FloatingUI.context.Dl4Y1y1z.js";
11
+ import { InlineDivider as H } from "./Panel.Divider.es.js";
12
+ import { PanelResizeHandle as w } from "./Panel.ResizeHandle.es.js";
13
+ import { usePanelResize as z } from "./Panel.useResize.es.js";
14
+ import { s as h } from "../../../chunks/panel.module.CnHWv4EZ.js";
15
+ const { baseClassNamePrefix: k, variable: F } = g("panel");
16
+ function G(s, e, o) {
17
+ if (!(!s && !e && !o))
18
+ return {
19
+ ...s,
20
+ ...e,
21
+ ...o ? {
22
+ [F("offset-x")]: o.x,
23
+ [F("offset-y")]: o.y
24
+ } : null
25
+ };
26
+ }
27
+ const J = ({
28
+ children: s,
29
+ panelClassName: e,
17
30
  resolvedPosition: o,
18
- showDivider: n,
19
- dividerColor: e,
31
+ showDivider: u,
32
+ dividerColor: t,
20
33
  resizeConfig: a,
21
- floatingOffset: r,
22
- overlayDividerClassName: m,
23
- isBlocking: f,
24
- skipMountAnimation: c,
25
- style: s,
26
- ...p
34
+ floatingOffset: c,
35
+ overlayDividerClassName: f,
36
+ isBlocking: d,
37
+ sizeStyle: p,
38
+ skipMountAnimation: v,
39
+ container: m,
40
+ style: x,
41
+ ...C
27
42
  }) => {
28
- const { refs: d } = _(), { handleRef: u } = j({
43
+ const { refs: y } = E(), { handleRef: l } = z({
29
44
  resizeConfig: a,
30
45
  position: o,
31
- floatingRef: d.floating,
32
- requireMount: !0
33
- }), g = r ? {
34
- ...s,
35
- [C("offset-x")]: r.x,
36
- [C("offset-y")]: r.y
37
- } : s;
38
- return /* @__PURE__ */ R(
39
- M,
46
+ floatingRef: y.floating,
47
+ requireMount: !0,
48
+ container: m
49
+ }), r = G(x, p, c);
50
+ return /* @__PURE__ */ B(
51
+ q,
40
52
  {
41
- className: l,
53
+ className: e,
42
54
  skipFloatingStyles: !0,
43
- overlay: f,
44
- ...p,
45
- style: g,
55
+ overlay: d ? m ? { lockScroll: !1 } : !0 : !1,
56
+ ...C,
57
+ style: r,
46
58
  "data-position": o,
47
- ...c ? { "data-status": "open" } : {},
59
+ ...v ? { "data-status": "open" } : {},
48
60
  children: [
49
- i,
50
- n && /* @__PURE__ */ t(
51
- $,
61
+ s,
62
+ u && /* @__PURE__ */ n(
63
+ H,
52
64
  {
53
65
  position: o,
54
- className: m,
55
- dividerColor: e
66
+ className: f,
67
+ dividerColor: t
56
68
  }
57
69
  ),
58
- a && /* @__PURE__ */ t(b, { ref: u })
70
+ a && /* @__PURE__ */ n(w, { ref: l })
59
71
  ]
60
72
  }
61
73
  );
62
- }, Q = ({
63
- contextValue: i,
64
- panelClassName: l,
74
+ }, so = ({
75
+ contextValue: s,
76
+ panelClassName: e,
65
77
  resolvedPosition: o,
66
- showDivider: n,
67
- modalType: e,
78
+ showDivider: u,
79
+ modalType: t,
68
80
  closeOnOutsidePress: a,
69
- floatingOffset: r,
70
- open: m,
71
- onOpenChange: f,
72
- transitionConfig: c,
73
- dividerColor: s,
74
- children: p,
75
- resizeConfig: d,
76
- skipMountAnimation: u,
77
- ...g
81
+ floatingOffset: c,
82
+ open: f,
83
+ onOpenChange: d,
84
+ transitionConfig: p,
85
+ dividerColor: v,
86
+ children: m,
87
+ resizeConfig: x,
88
+ sizeStyle: C,
89
+ skipMountAnimation: y,
90
+ container: l,
91
+ triggerRef: r,
92
+ ...I
78
93
  }) => {
79
- const v = e === "isModal" || e === "alert", N = B(e, a), P = h(
80
- x[`${y}__overlay-divider`],
81
- x[`${y}__overlay-divider--${o}`]
94
+ const N = t === "isModal" || t === "alert", M = S(
95
+ (i) => {
96
+ const P = (r == null ? void 0 : r.current) ?? null;
97
+ return !(P && i.target instanceof Node && P.contains(i.target));
98
+ },
99
+ [r]
100
+ ), _ = $(() => {
101
+ const i = A(t, a);
102
+ return !r || !(t === "isModal" || t !== "alert" && !!a) ? i : { ...i ?? {}, outsidePress: M };
103
+ }, [t, a, r, M]), b = D(
104
+ h[`${k}__overlay-divider`],
105
+ h[`${k}__overlay-divider--${o}`]
82
106
  );
83
- return /* @__PURE__ */ t(I.Provider, { value: i, children: /* @__PURE__ */ t(
84
- D,
107
+ return /* @__PURE__ */ n(j.Provider, { value: s, children: /* @__PURE__ */ n(
108
+ U,
85
109
  {
86
- open: m,
87
- onOpenChange: f,
88
- portalled: !0,
89
- transitionConfig: c,
90
- dismiss: N,
91
- focusConfiguration: v ? !0 : { modal: !1, closeOnFocusOut: !1 },
92
- children: /* @__PURE__ */ t(
93
- k,
110
+ open: f,
111
+ onOpenChange: d,
112
+ portalled: l ? { root: l } : !0,
113
+ transitionConfig: p,
114
+ dismiss: _,
115
+ focusConfiguration: N ? !0 : { modal: !1, closeOnFocusOut: !1 },
116
+ children: /* @__PURE__ */ n(
117
+ J,
94
118
  {
95
- panelClassName: l,
119
+ panelClassName: e,
96
120
  resolvedPosition: o,
97
- showDivider: n,
98
- dividerColor: s,
99
- floatingOffset: r,
100
- overlayDividerClassName: P,
101
- isBlocking: v,
102
- resizeConfig: d,
103
- skipMountAnimation: u,
104
- ...g,
105
- role: e === "alert" ? "alertdialog" : "dialog",
106
- "aria-modal": v || void 0,
107
- children: p
121
+ showDivider: u,
122
+ dividerColor: v,
123
+ floatingOffset: c,
124
+ overlayDividerClassName: b,
125
+ isBlocking: N,
126
+ resizeConfig: x,
127
+ sizeStyle: C,
128
+ skipMountAnimation: y,
129
+ container: l,
130
+ ...I,
131
+ role: t === "alert" ? "alertdialog" : "dialog",
132
+ "aria-modal": N || void 0,
133
+ children: m
108
134
  }
109
135
  )
110
136
  }
111
137
  ) });
112
138
  };
113
139
  export {
114
- Q as OverlayPanel
140
+ so as OverlayPanel
115
141
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),r=require("react"),n=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const l=require("../../../chunks/panel.module.CVyUzyCZ.js"),{baseClassNamePrefix:i}=n.getBEMClassNames("panel"),e=r.forwardRef((t,s)=>a.jsx("div",{ref:s,className:l.styles[`${i}__resize-handle`],"aria-hidden":!0,tabIndex:-1}));e.displayName="PanelResizeHandle";exports.PanelResizeHandle=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),r=require("react"),n=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const l=require("../../../chunks/panel.module.BVmRxZHo.js"),{baseClassNamePrefix:i}=n.getBEMClassNames("panel"),e=r.forwardRef((t,s)=>a.jsx("div",{ref:s,className:l.styles[`${i}__resize-handle`],"aria-hidden":!0,tabIndex:-1}));e.displayName="PanelResizeHandle";exports.PanelResizeHandle=e;
@@ -2,7 +2,7 @@ import { jsx as a } from "react/jsx-runtime";
2
2
  import { forwardRef as s } from "react";
3
3
  import { g as r } 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 { baseClassNamePrefix: i } = r("panel"), m = s((t, e) => /* @__PURE__ */ a(
7
7
  "div",
8
8
  {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("react/jsx-runtime"),z=require("clsx"),g=require("react"),W=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const G=require("./Header/Panel.Header.cjs.js"),U=require("./Panel.Body.cjs.js"),Q=require("./Footer/Panel.Footer.cjs.js"),u=require("./Panel.helpers.cjs.js"),X=require("./Panel.Inline.cjs.js"),Y=require("./Panel.Overlay.cjs.js"),e=require("../../../chunks/panel.module.CVyUzyCZ.js"),Z=165,k=100,ee=(t,d)=>{if(!t||d==="full")return;const f=d==="bottom",i=typeof t=="object"?t:{},r=i.minSize??(f?k:Z),o=i.maxSize??1/0,P=i.storageKey??"";return{minSize:r,maxSize:o,storageKey:P}},{baseClassNamePrefix:s}=W.getBEMClassNames("panel"),_=({children:t,className:d,padding:f="md",onOpenChange:i,open:r,size:o="md",dismissible:P=!0,closeButtonAriaLabel:v="Close panel",kind:n="inline",position:y,divider:R=!0,dividerColor:N,isAnimated:O=!0,onBeforeClose:B,modalType:a,offset:b,resizable:D,id:w,...p})=>{const l=u.getResolvedPanelPosition(y),c=ee(D,l),H=!!c;if(process.env.NODE_ENV!=="production"){c&&!c.storageKey&&console.warn("Panel: provide a `storageKey` in the `resizable` config to persist panel size across sessions."),a==="alert"&&P&&console.warn('Panel: `dismissible` is ignored when `modalType="alert"`. The close button is always hidden.');const{closeOnOutsidePress:V}=p;V&&a!=="nonModal"&&a!==void 0&&console.warn('Panel: `closeOnOutsidePress` has no effect when `modalType` is not `"nonModal"`.')}const C=a==="alert"?!1:P,T=o&&(l!=="bottom"||o==="full"),h=n==="overlay"&&b?u.resolveOffset(b):void 0,q=!!h,$=z(e.styles[s],e.styles[`${s}--${n}`],T&&e.styles[`${s}--size-${o}`],e.styles[`${s}--padding-${f}`],e.styles[`${s}--position-${l}`],q&&e.styles[`${s}--floating`],H&&e.styles[`${s}--resizable`],d),A=z(e.styles[`${s}__inline-wrapper`],e.styles[`${s}__inline-wrapper--size-${o}`]),{requestClose:I,handleOverlayOpenChange:j}=u.usePanelClose(B,i),M=g.useMemo(()=>({kind:n,dismissible:C,closeButtonAriaLabel:v,position:y,requestClose:I}),[n,C,v,y,I]),{showDivider:F,dividerBefore:K,dividerInner:J,dividerAfter:L}=u.getPanelDividerState(R&&!q,l),S=g.useMemo(()=>({duration:O?u.PANEL_TRANSITION_DURATION_MS:0}),[O]),m=g.useRef(void 0),E=m.current!==void 0&&m.current!==n&&r===!0;return m.current=n,n==="inline"?x.jsx(X.InlinePanel,{contextValue:M,panelClassName:$,inlineWrapperClassName:A,resolvedPosition:l,dividerBefore:K,dividerInner:J,dividerAfter:L,dividerColor:N,open:r,transitionConfig:S,resizeConfig:c,skipMountAnimation:E,id:w,...p,children:t}):x.jsx(Y.OverlayPanel,{contextValue:M,panelClassName:$,resolvedPosition:l,showDivider:F,dividerColor:N,modalType:a,floatingOffset:h,open:r,onOpenChange:j,transitionConfig:S,resizeConfig:c,skipMountAnimation:E,id:w,...p,children:t})};_.displayName="Panel";_.Header=G.Header;_.Body=U.Body;_.Footer=Q.Footer;exports.Panel=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("react/jsx-runtime"),T=require("clsx"),j=require("react"),ne=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const A=require("../../../utils/hooks/usePrevious.cjs.js"),oe=require("./Header/Panel.Header.cjs.js"),ie=require("./Panel.Body.cjs.js"),te=require("./Footer/Panel.Footer.cjs.js"),r=require("./Panel.helpers.cjs.js"),le=require("./Panel.Inline.cjs.js"),re=require("./Panel.Overlay.cjs.js"),n=require("../../../chunks/panel.module.BVmRxZHo.js"),ae=165,ce=100,ue=(e,f)=>{if(!e)return;const _=f==="bottom",a=typeof e=="object"?e:{},t=a.minSize??(_?ce:ae),y=a.maxSize??1/0,d=a.storageKey??"";return{minSize:t,maxSize:y,storageKey:d}},{baseClassNamePrefix:o,variable:ve}=ne.getBEMClassNames("panel");function de(e){return r.isPresetSize(e)?{overlaySizeClass:n.styles[`${o}--size-${e}`],inlineSizeClass:n.styles[`${o}__inline-wrapper--size-${e}`],sizeStyle:void 0}:e!==void 0?{overlaySizeClass:void 0,inlineSizeClass:void 0,sizeStyle:{[ve("size")]:e}}:{overlaySizeClass:void 0,inlineSizeClass:void 0,sizeStyle:void 0}}const v=({children:e,className:f,padding:_="md",onOpenChange:a,open:t,size:y,dismissible:d=!0,closeButtonAriaLabel:m="Close panel",kind:s="inline",position:P,divider:F=!0,dividerColor:S,isAnimated:C=!0,onBeforeClose:K,modalType:c,offset:w,resizable:L,id:z,...b})=>{const l=r.getResolvedPanelPosition(P),u=ue(L,l),V=!!u,{container:h,triggerRef:W,...N}=b,i=s==="overlay"?h:void 0;if(process.env.NODE_ENV!=="production"){u&&!u.storageKey&&console.warn("Panel: provide a `storageKey` in the `resizable` config to persist panel size across sessions."),c==="alert"&&d&&console.warn('Panel: `dismissible` is ignored when `modalType="alert"`. The close button is always hidden.');const{closeOnOutsidePress:se}=b;if(se&&c!=="nonModal"&&c!==void 0&&console.warn('Panel: `closeOnOutsidePress` has no effect when `modalType` is not `"nonModal"`.'),h&&s==="inline"&&console.warn('Panel: `container` has no effect when `kind="inline"`.'),i)try{if(typeof getComputedStyle=="function"){const p=getComputedStyle(i);p.position==="static"&&console.warn("Panel: container element should have `position: relative` (or another non-static value) for proper scoping.");const g=l==="bottom"?p.overflowY:p.overflowX;(g==="visible"||g==="auto"||g==="scroll")&&console.warn("Panel: container element should use `overflow: hidden` (or `clip`) so the slide-in/out transform does not trigger a transient scrollbar.")}}catch{}}const O=c==="alert"?!1:d,{overlaySizeClass:G,inlineSizeClass:U,sizeStyle:q}=de(y),$=s==="overlay"&&w?r.resolveOffset(w):void 0,I=!!$,M=T(n.styles[o],n.styles[`${o}--${s}`],s==="overlay"&&G,n.styles[`${o}--padding-${_}`],n.styles[`${o}--position-${l}`],I&&n.styles[`${o}--floating`],V&&n.styles[`${o}--resizable`],s==="overlay"&&i&&n.styles[`${o}--contained`],f),X=T(n.styles[`${o}__inline-wrapper`],U),{requestClose:x,handleOverlayOpenChange:Y}=r.usePanelClose(K,a),E=j.useMemo(()=>({kind:s,dismissible:O,closeButtonAriaLabel:m,position:P,requestClose:x}),[s,O,m,P,x]),{showDivider:J,dividerBefore:Q,dividerInner:Z,dividerAfter:k}=r.getPanelDividerState(F&&!I,l),B=j.useMemo(()=>({duration:C?r.PANEL_TRANSITION_DURATION_MS:0}),[C]),D=A.usePrevious(s),ee=A.usePrevious(i),H=D!==void 0&&D!==s&&t===!0||ee===null&&i!=null&&t===!0;return i===null?null:s==="inline"?R.jsx(le.InlinePanel,{contextValue:E,panelClassName:M,inlineWrapperClassName:X,resolvedPosition:l,dividerBefore:Q,dividerInner:Z,dividerAfter:k,dividerColor:S,open:t,transitionConfig:B,resizeConfig:u,skipMountAnimation:H,sizeStyle:q,id:z,...N,children:e}):R.jsx(re.OverlayPanel,{contextValue:E,panelClassName:M,resolvedPosition:l,showDivider:J,dividerColor:S,modalType:c,floatingOffset:$,open:t,onOpenChange:Y,transitionConfig:B,resizeConfig:u,skipMountAnimation:H,sizeStyle:q,id:z,...N,container:i,triggerRef:W,children:e})};v.displayName="Panel";v.Header=oe.Header;v.Body=ie.Body;v.Footer=te.Footer;exports.Panel=v;
@@ -1,6 +1,6 @@
1
1
  import { PanelProps } from './Panel.types';
2
2
  export declare const Panel: {
3
- ({ children, className: _className, padding, onOpenChange, open, size, dismissible, closeButtonAriaLabel, kind, position, divider, dividerColor, isAnimated, onBeforeClose, modalType, offset, resizable, id, ...panelProps }: PanelProps): JSX.Element;
3
+ ({ children, className: _className, padding, onOpenChange, open, size, dismissible, closeButtonAriaLabel, kind, position, divider, dividerColor, isAnimated, onBeforeClose, modalType, offset, resizable, id, ...panelProps }: PanelProps): JSX.Element | null;
4
4
  displayName: string;
5
5
  Header: {
6
6
  ({ children, className: _className, divider, dividerColor, backgroundColor, ...props }: import('./Panel.types').PanelHeaderProps): import("react/jsx-runtime").JSX.Element;