@viasat/beam-react 2.29.1 → 2.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/assets/ActionList.css +1 -1
  2. package/assets/Avatar.css +1 -1
  3. package/assets/Badge.css +1 -1
  4. package/assets/Button.css +1 -1
  5. package/assets/Checkbox.css +1 -1
  6. package/assets/Chip.css +1 -1
  7. package/assets/ChipGroup.css +1 -1
  8. package/assets/CloseButton.css +1 -1
  9. package/assets/DateField.css +1 -0
  10. package/assets/EmptyState.css +1 -1
  11. package/assets/{floatingui.css → FloatingUI.css} +1 -1
  12. package/assets/InputChoiceGroup.css +1 -1
  13. package/assets/Link.css +1 -1
  14. package/assets/NativeSelect.css +1 -1
  15. package/assets/Pagination.css +1 -1
  16. package/assets/ProgressBar.css +1 -1
  17. package/assets/RadioButton.css +1 -1
  18. package/assets/Search.css +1 -1
  19. package/assets/SpinnerWrap.css +1 -1
  20. package/assets/Switch.css +1 -1
  21. package/assets/TextArea.css +1 -1
  22. package/assets/TextField.css +1 -1
  23. package/assets/card.css +1 -1
  24. package/assets/combobox.css +1 -1
  25. package/assets/fileUpload.css +1 -1
  26. package/assets/header.css +1 -1
  27. package/assets/index.css +1 -1
  28. package/assets/panel.css +1 -1
  29. package/assets/segmentedControl.css +1 -1
  30. package/assets/slider.css +1 -1
  31. package/assets/stepper.css +1 -1
  32. package/chunks/DateField.Segment.7oCeBSNo.js +1 -0
  33. package/chunks/DateField.Segment.DbjGMAPP.js +99 -0
  34. package/chunks/FloatingUI.arrow.DFhYQv_F.js +1 -0
  35. package/chunks/FloatingUI.arrow.tN5_IctZ.js +27 -0
  36. package/chunks/panel.module.BVmRxZHo.js +1 -0
  37. package/chunks/{panel.module.BblnuBjO.js → panel.module.CnHWv4EZ.js} +1 -3
  38. package/index.cjs.js +1 -1
  39. package/index.es.js +35 -33
  40. package/lib/ActionList/ActionList.Group.d.ts +1 -1
  41. package/lib/Autocomplete/Autocomplete.cjs.js +1 -1
  42. package/lib/Autocomplete/Autocomplete.d.ts +5 -5
  43. package/lib/Autocomplete/Autocomplete.es.js +296 -268
  44. package/lib/Autocomplete/AutocompleteDropdown.cjs.js +1 -1
  45. package/lib/Autocomplete/AutocompleteDropdown.es.js +15 -12
  46. package/lib/FloatingUI/FloatingUI.arrow.cjs.js +1 -1
  47. package/lib/FloatingUI/FloatingUI.arrow.es.js +6 -17
  48. package/lib/FloatingUI/FloatingUI.content.cjs.js +1 -1
  49. package/lib/FloatingUI/FloatingUI.content.es.js +17 -18
  50. package/lib/Search/SearchDropdown.cjs.js +1 -1
  51. package/lib/Search/SearchDropdown.es.js +1 -1
  52. package/lib/Select/Select.cjs.js +1 -1
  53. package/lib/Select/Select.d.ts +3 -2
  54. package/lib/Select/Select.es.js +208 -195
  55. package/lib/Select/SelectDropdown.cjs.js +1 -1
  56. package/lib/Select/SelectDropdown.es.js +15 -12
  57. package/lib/_Options/Option.cjs.js +1 -1
  58. package/lib/_Options/Option.context.cjs.js +1 -1
  59. package/lib/_Options/Option.context.d.ts +31 -13
  60. package/lib/_Options/Option.context.es.js +133 -88
  61. package/lib/_Options/Option.es.js +23 -21
  62. package/lib/_Options/Option.types.d.ts +23 -0
  63. package/lib/_Options/OptionGroup.cjs.js +1 -0
  64. package/lib/_Options/OptionGroup.context.cjs.js +1 -0
  65. package/lib/_Options/OptionGroup.context.d.ts +6 -0
  66. package/lib/_Options/OptionGroup.context.es.js +6 -0
  67. package/lib/_Options/OptionGroup.d.ts +3 -0
  68. package/lib/_Options/OptionGroup.es.js +22 -0
  69. package/lib/_Options/getLastVisibleStructureIndex.cjs.js +1 -0
  70. package/lib/_Options/getLastVisibleStructureIndex.d.ts +15 -0
  71. package/lib/_Options/getLastVisibleStructureIndex.es.js +14 -0
  72. package/lib/_Options/index.cjs.js +1 -1
  73. package/lib/_Options/index.d.ts +4 -0
  74. package/lib/_Options/index.es.js +13 -4
  75. package/lib/_Options/useRenderOption.cjs.js +1 -0
  76. package/lib/_Options/useRenderOption.d.ts +30 -0
  77. package/lib/_Options/useRenderOption.es.js +43 -0
  78. package/lib/index.cjs.js +1 -1
  79. package/lib/index.d.ts +1 -0
  80. package/lib/index.es.js +27 -25
  81. package/lib/wip/DateField/DateField.Segment.cjs.js +1 -0
  82. package/lib/wip/DateField/DateField.Segment.d.ts +2 -0
  83. package/lib/wip/DateField/DateField.Segment.es.js +8 -0
  84. package/lib/wip/DateField/DateField.Segments.cjs.js +1 -0
  85. package/lib/wip/DateField/DateField.Segments.d.ts +17 -0
  86. package/lib/wip/DateField/DateField.Segments.es.js +61 -0
  87. package/lib/wip/DateField/DateField.cjs.js +1 -0
  88. package/lib/wip/DateField/DateField.d.ts +3 -0
  89. package/lib/wip/DateField/DateField.es.js +191 -0
  90. package/lib/wip/DateField/DateField.types.cjs.js +1 -0
  91. package/lib/wip/DateField/DateField.types.d.ts +118 -0
  92. package/lib/wip/DateField/DateField.types.es.js +1 -0
  93. package/lib/wip/DateField/DateField.utils.cjs.js +1 -0
  94. package/lib/wip/DateField/DateField.utils.d.ts +26 -0
  95. package/lib/wip/DateField/DateField.utils.es.js +45 -0
  96. package/lib/wip/DateField/DateField.validation.cjs.js +1 -0
  97. package/lib/wip/DateField/DateField.validation.d.ts +26 -0
  98. package/lib/wip/DateField/DateField.validation.es.js +24 -0
  99. package/lib/wip/DateField/index.cjs.js +1 -0
  100. package/lib/wip/DateField/index.d.ts +2 -0
  101. package/lib/wip/DateField/index.es.js +4 -0
  102. package/lib/wip/DateField/useDateFieldFocus.cjs.js +1 -0
  103. package/lib/wip/DateField/useDateFieldFocus.d.ts +23 -0
  104. package/lib/wip/DateField/useDateFieldFocus.es.js +65 -0
  105. package/lib/wip/DateField/useDateFieldForm.cjs.js +1 -0
  106. package/lib/wip/DateField/useDateFieldForm.d.ts +32 -0
  107. package/lib/wip/DateField/useDateFieldForm.es.js +51 -0
  108. package/lib/wip/DateField/useDateFieldSegments.cjs.js +1 -0
  109. package/lib/wip/DateField/useDateFieldSegments.d.ts +7 -0
  110. package/lib/wip/DateField/useDateFieldSegments.es.js +13 -0
  111. package/lib/wip/DateField/useDateFieldValidity.cjs.js +1 -0
  112. package/lib/wip/DateField/useDateFieldValidity.d.ts +23 -0
  113. package/lib/wip/DateField/useDateFieldValidity.es.js +19 -0
  114. package/lib/wip/DateField/useDateFieldValue.cjs.js +1 -0
  115. package/lib/wip/DateField/useDateFieldValue.d.ts +19 -0
  116. package/lib/wip/DateField/useDateFieldValue.es.js +62 -0
  117. package/lib/wip/DateField/useInvalidState.cjs.js +1 -0
  118. package/lib/wip/DateField/useInvalidState.d.ts +13 -0
  119. package/lib/wip/DateField/useInvalidState.es.js +8 -0
  120. package/lib/wip/Panel/Footer/Panel.Footer.Actions.cjs.js +1 -1
  121. package/lib/wip/Panel/Footer/Panel.Footer.Actions.es.js +1 -1
  122. package/lib/wip/Panel/Footer/Panel.Footer.cjs.js +1 -1
  123. package/lib/wip/Panel/Footer/Panel.Footer.es.js +1 -1
  124. package/lib/wip/Panel/Header/Panel.Header.ContentAfter.cjs.js +1 -1
  125. package/lib/wip/Panel/Header/Panel.Header.ContentAfter.es.js +1 -1
  126. package/lib/wip/Panel/Header/Panel.Header.ContentBefore.cjs.js +1 -1
  127. package/lib/wip/Panel/Header/Panel.Header.ContentBefore.es.js +1 -1
  128. package/lib/wip/Panel/Header/Panel.Header.Description.cjs.js +1 -1
  129. package/lib/wip/Panel/Header/Panel.Header.Description.es.js +1 -1
  130. package/lib/wip/Panel/Header/Panel.Header.Heading.cjs.js +1 -1
  131. package/lib/wip/Panel/Header/Panel.Header.Heading.es.js +1 -1
  132. package/lib/wip/Panel/Header/Panel.Header.Row.cjs.js +1 -1
  133. package/lib/wip/Panel/Header/Panel.Header.Row.es.js +1 -1
  134. package/lib/wip/Panel/Header/Panel.Header.Subheader.cjs.js +1 -1
  135. package/lib/wip/Panel/Header/Panel.Header.Subheader.es.js +1 -1
  136. package/lib/wip/Panel/Header/Panel.Header.cjs.js +1 -1
  137. package/lib/wip/Panel/Header/Panel.Header.es.js +1 -1
  138. package/lib/wip/Panel/Panel.Body.cjs.js +1 -1
  139. package/lib/wip/Panel/Panel.Body.es.js +1 -1
  140. package/lib/wip/Panel/Panel.Inline.cjs.js +1 -1
  141. package/lib/wip/Panel/Panel.Inline.d.ts +5 -1
  142. package/lib/wip/Panel/Panel.Inline.es.js +54 -47
  143. package/lib/wip/Panel/Panel.Overlay.cjs.js +1 -1
  144. package/lib/wip/Panel/Panel.Overlay.d.ts +20 -2
  145. package/lib/wip/Panel/Panel.Overlay.es.js +117 -80
  146. package/lib/wip/Panel/Panel.ResizeHandle.cjs.js +1 -1
  147. package/lib/wip/Panel/Panel.ResizeHandle.es.js +1 -1
  148. package/lib/wip/Panel/Panel.cjs.js +1 -1
  149. package/lib/wip/Panel/Panel.d.ts +1 -1
  150. package/lib/wip/Panel/Panel.es.js +139 -100
  151. package/lib/wip/Panel/Panel.helpers.cjs.js +1 -1
  152. package/lib/wip/Panel/Panel.helpers.d.ts +2 -1
  153. package/lib/wip/Panel/Panel.helpers.es.js +37 -35
  154. package/lib/wip/Panel/Panel.types.d.ts +64 -10
  155. package/lib/wip/Panel/Panel.useResize.cjs.js +1 -1
  156. package/lib/wip/Panel/Panel.useResize.d.ts +3 -1
  157. package/lib/wip/Panel/Panel.useResize.es.js +34 -30
  158. package/package.json +6 -6
  159. package/utils/hooks/index.cjs.js +1 -1
  160. package/utils/hooks/index.d.ts +1 -0
  161. package/utils/hooks/index.es.js +12 -10
  162. package/utils/hooks/useElementResize.cjs.js +1 -1
  163. package/utils/hooks/useElementResize.d.ts +1 -1
  164. package/utils/hooks/useElementResize.es.js +33 -33
  165. package/utils/hooks/usePrevious.cjs.js +1 -0
  166. package/utils/hooks/usePrevious.d.ts +5 -0
  167. package/utils/hooks/usePrevious.es.js +10 -0
  168. package/chunks/floatingui.module.BcBFebz0.js +0 -10
  169. package/chunks/floatingui.module.D3Aw_aYe.js +0 -1
  170. package/chunks/panel.module.CVyUzyCZ.js +0 -1
@@ -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"),m=require("@floating-ui/react"),q=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const b=require("./Panel.context.cjs.js"),F=require("../../FloatingUI/FloatingUI.root.cjs.js"),R=require("../../../chunks/FloatingUI.context.B15Tz_4h.js"),p=require("./Panel.Divider.cjs.js"),h=require("./Panel.ResizeHandle.cjs.js"),w=require("./Panel.useResize.cjs.js"),U=require("../../../chunks/panel.module.CVyUzyCZ.js"),{baseClassNamePrefix:N}=q.getBEMClassNames("panel"),v=({children:a,panelClassName:l,inlineWrapperClassName:r,resolvedPosition:n,dividerBefore:o,dividerInner:c,dividerAfter:u,alwaysVisible:i,dividerColor:t,resizeConfig:s,..._})=>{const{context:x,transitionConfig:d,refs:g}=R.useBmFloatingUIContext(),{isMounted:I,status:j}=m.useTransitionStatus(x,d),P=i&&j==="initial"?"open":j,{handleRef:f}=w.usePanelResize({resizeConfig:s,position:n,floatingRef:g.floating});return I?e.jsxs(e.Fragment,{children:[o&&e.jsx(p.InlineDivider,{position:n,dividerColor:t}),e.jsx("div",{ref:g.setFloating,className:r,"data-position":n,"data-status":P,children:e.jsxs("div",{className:U.styles[`${N}__inline-wrapper-content`],children:[c&&e.jsx(p.InlineDivider,{position:n,dividerColor:t}),e.jsxs("aside",{..._,className:l,children:[a,s&&e.jsx(h.PanelResizeHandle,{ref:f})]})]})}),u&&e.jsx(p.InlineDivider,{position:n,dividerColor:t})]}):null},y=({contextValue:a,panelClassName:l,inlineWrapperClassName:r,resolvedPosition:n,dividerBefore:o,dividerInner:c,dividerAfter:u,open:i,transitionConfig:t,dividerColor:s,children:_,resizeConfig:x,...d})=>e.jsx(b.PanelContext.Provider,{value:a,children:e.jsx(F.FloatingUIRoot,{open:i??!0,portalled:!1,transitionConfig:t,children:e.jsx(v,{panelClassName:l,inlineWrapperClassName:r,resolvedPosition:n,dividerBefore:o,dividerInner:c,dividerAfter:u,dividerColor:s,alwaysVisible:i===void 0,resizeConfig:x,...d,children:_})})});exports.InlinePanel=y;
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,6 +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;
19
+ /** Forwarded from Panel: when true, suppress the slide-in animation on this mount. */
20
+ skipMountAnimation?: boolean;
17
21
  } & React.ComponentPropsWithoutRef<'aside'>;
18
- export declare const InlinePanel: ({ contextValue, panelClassName, inlineWrapperClassName, resolvedPosition, dividerBefore, dividerInner, dividerAfter, open, transitionConfig, dividerColor, children, resizeConfig, ...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;
19
23
  export {};
@@ -1,16 +1,16 @@
1
- import { jsx as t, jsxs as d, Fragment as C } from "react/jsx-runtime";
2
- import { useTransitionStatus as F } from "@floating-ui/react";
3
- import { g as w } from "../../../chunks/classNames.BTJmrO_L.js";
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
+ import { g as P } from "../../../chunks/classNames.BTJmrO_L.js";
4
4
  import "../../../chunks/constants.CKKGf1-i.js";
5
- import { PanelContext as P } from "./Panel.context.es.js";
6
- import { FloatingUIRoot as U } from "../../FloatingUI/FloatingUI.root.es.js";
7
- import { a as b } from "../../../chunks/FloatingUI.context.Dl4Y1y1z.js";
8
- import { InlineDivider as g } from "./Panel.Divider.es.js";
9
- import { PanelResizeHandle as j } from "./Panel.ResizeHandle.es.js";
10
- import { usePanelResize as y } from "./Panel.useResize.es.js";
11
- import { s as B } from "../../../chunks/panel.module.BblnuBjO.js";
12
- const { baseClassNamePrefix: M } = w("panel"), S = ({
13
- children: s,
5
+ import { PanelContext as U } from "./Panel.context.es.js";
6
+ import { FloatingUIRoot as b } from "../../FloatingUI/FloatingUI.root.es.js";
7
+ import { a as j } from "../../../chunks/FloatingUI.context.Dl4Y1y1z.js";
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,
@@ -18,44 +18,47 @@ const { baseClassNamePrefix: M } = w("panel"), S = ({
18
18
  dividerInner: m,
19
19
  dividerAfter: p,
20
20
  alwaysVisible: e,
21
+ skipMountAnimation: f,
21
22
  dividerColor: a,
22
- resizeConfig: i,
23
- ...f
23
+ resizeConfig: s,
24
+ sizeStyle: c,
25
+ ...u
24
26
  }) => {
25
27
  const {
26
- context: c,
27
- transitionConfig: u,
28
- refs: x
29
- } = b(), { isMounted: I, status: h } = F(
30
- c,
31
- u
32
- ), N = e && h === "initial" ? "open" : h, { handleRef: R } = y({
33
- 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,
34
36
  position: n,
35
- floatingRef: x.floating
37
+ floatingRef: I.floating
36
38
  });
37
- return I ? /* @__PURE__ */ d(C, { children: [
38
- l && /* @__PURE__ */ t(g, { position: n, dividerColor: a }),
39
+ return R ? /* @__PURE__ */ x(w, { children: [
40
+ l && /* @__PURE__ */ t(h, { position: n, dividerColor: a }),
39
41
  /* @__PURE__ */ t(
40
42
  "div",
41
43
  {
42
- ref: x.setFloating,
44
+ ref: I.setFloating,
43
45
  className: r,
44
46
  "data-position": n,
45
- "data-status": N,
46
- children: /* @__PURE__ */ d("div", { className: B[`${M}__inline-wrapper-content`], children: [
47
- m && /* @__PURE__ */ t(g, { position: n, dividerColor: a }),
48
- /* @__PURE__ */ d("aside", { ...f, className: o, children: [
49
- s,
50
- i && /* @__PURE__ */ t(j, { ref: R })
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 })
51
54
  ] })
52
55
  ] })
53
56
  }
54
57
  ),
55
- p && /* @__PURE__ */ t(g, { position: n, dividerColor: a })
58
+ p && /* @__PURE__ */ t(h, { position: n, dividerColor: a })
56
59
  ] }) : null;
57
- }, A = ({
58
- contextValue: s,
60
+ }, J = ({
61
+ contextValue: i,
59
62
  panelClassName: o,
60
63
  inlineWrapperClassName: r,
61
64
  resolvedPosition: n,
@@ -63,19 +66,21 @@ const { baseClassNamePrefix: M } = w("panel"), S = ({
63
66
  dividerInner: m,
64
67
  dividerAfter: p,
65
68
  open: e,
66
- transitionConfig: a,
67
- dividerColor: i,
68
- children: f,
69
+ transitionConfig: f,
70
+ dividerColor: a,
71
+ children: s,
69
72
  resizeConfig: c,
70
- ...u
71
- }) => /* @__PURE__ */ t(P.Provider, { value: s, children: /* @__PURE__ */ t(
72
- U,
73
+ sizeStyle: u,
74
+ skipMountAnimation: d,
75
+ ...g
76
+ }) => /* @__PURE__ */ t(U.Provider, { value: i, children: /* @__PURE__ */ t(
77
+ b,
73
78
  {
74
79
  open: e ?? !0,
75
80
  portalled: !1,
76
- transitionConfig: a,
81
+ transitionConfig: f,
77
82
  children: /* @__PURE__ */ t(
78
- S,
83
+ z,
79
84
  {
80
85
  panelClassName: o,
81
86
  inlineWrapperClassName: r,
@@ -83,15 +88,17 @@ const { baseClassNamePrefix: M } = w("panel"), S = ({
83
88
  dividerBefore: l,
84
89
  dividerInner: m,
85
90
  dividerAfter: p,
86
- dividerColor: i,
91
+ dividerColor: a,
87
92
  alwaysVisible: e === void 0,
93
+ skipMountAnimation: d,
88
94
  resizeConfig: c,
89
- ...u,
90
- children: f
95
+ sizeStyle: u,
96
+ ...g,
97
+ children: s
91
98
  }
92
99
  )
93
100
  }
94
101
  ) });
95
102
  export {
96
- A as InlinePanel
103
+ J as InlinePanel
97
104
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),m=require("clsx"),p=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const F=require("./Panel.context.cjs.js"),I=require("./Panel.helpers.cjs.js"),j=require("../../FloatingUI/FloatingUI.root.cjs.js"),C=require("../../FloatingUI/FloatingUI.content.cjs.js"),R=require("../../../chunks/FloatingUI.context.B15Tz_4h.js"),U=require("./Panel.Divider.cjs.js"),N=require("./Panel.ResizeHandle.cjs.js"),h=require("./Panel.useResize.cjs.js"),q=require("../../../chunks/panel.module.CVyUzyCZ.js"),{baseClassNamePrefix:v,variable:y}=p.getBEMClassNames("panel"),w=({children:a,panelClassName:r,resolvedPosition:e,showDivider:o,dividerColor:l,resizeConfig:s,floatingOffset:i,overlayDividerClassName:c,isBlocking:u,style:t,..._})=>{const{refs:d}=R.useBmFloatingUIContext(),{handleRef:g}=h.usePanelResize({resizeConfig:s,position:e,floatingRef:d.floating,requireMount:!0}),P=i?{...t,[y("offset-x")]:i.x,[y("offset-y")]:i.y}:t;return n.jsxs(C.Content,{className:r,skipFloatingStyles:!0,overlay:u,..._,style:P,"data-position":e,children:[a,o&&n.jsx(U.InlineDivider,{position:e,className:c,dividerColor:l}),s&&n.jsx(N.PanelResizeHandle,{ref:g})]})},D=({contextValue:a,panelClassName:r,resolvedPosition:e,showDivider:o,modalType:l,closeOnOutsidePress:s,floatingOffset:i,open:c,onOpenChange:u,transitionConfig:t,dividerColor:_,children:d,resizeConfig:g,...P})=>{const x=l==="isModal"||l==="alert",b=I.getPanelDismissConfig(l,s),f=m(q.styles[`${v}__overlay-divider`],q.styles[`${v}__overlay-divider--${e}`]);return n.jsx(F.PanelContext.Provider,{value:a,children:n.jsx(j.FloatingUIRoot,{open:c,onOpenChange:u,portalled:!0,transitionConfig:t,dismiss:b,focusConfiguration:x?!0:{modal:!1,closeOnFocusOut:!1},children:n.jsx(w,{panelClassName:r,resolvedPosition:e,showDivider:o,dividerColor:_,floatingOffset:i,overlayDividerClassName:f,isBlocking:x,resizeConfig:g,...P,role:l==="alert"?"alertdialog":"dialog","aria-modal":x||void 0,children:d})})})};exports.OverlayPanel=D;
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,6 +17,23 @@ type OverlayPanelProps = {
16
17
  children: React.ReactNode;
17
18
  dividerColor?: PanelDividerColor;
18
19
  resizeConfig?: PanelResizeConfig;
19
- } & React.ComponentPropsWithoutRef<'aside'>;
20
- export declare const OverlayPanel: ({ contextValue, panelClassName, resolvedPosition, showDivider, modalType, closeOnOutsidePress, floatingOffset, open, onOpenChange, transitionConfig, dividerColor, children, resizeConfig, ...props }: OverlayPanelProps) => import("react/jsx-runtime").JSX.Element;
20
+ /** Forwarded from Panel: CSS custom-property override for the panel size. */
21
+ sizeStyle?: CSSProperties;
22
+ /** Forwarded from Panel: when true, suppress the slide-in animation on this mount. */
23
+ skipMountAnimation?: boolean;
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;
21
39
  export {};
@@ -1,104 +1,141 @@
1
- import { jsx as t, jsxs as P } from "react/jsx-runtime";
2
- import R from "clsx";
3
- import { g as h } 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 F } from "./Panel.context.es.js";
6
- import { getPanelDismissConfig as I } from "./Panel.helpers.es.js";
7
- import { FloatingUIRoot as B } from "../../FloatingUI/FloatingUI.root.es.js";
8
- import { Content as D } from "../../FloatingUI/FloatingUI.content.es.js";
9
- import { a as M } from "../../../chunks/FloatingUI.context.Dl4Y1y1z.js";
10
- import { InlineDivider as _ } from "./Panel.Divider.es.js";
11
- import { PanelResizeHandle as $ } from "./Panel.ResizeHandle.es.js";
12
- import { usePanelResize as b } from "./Panel.useResize.es.js";
13
- import { s as v } from "../../../chunks/panel.module.BblnuBjO.js";
14
- const { baseClassNamePrefix: x, variable: y } = h("panel"), j = ({
15
- children: a,
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,
20
- resizeConfig: i,
21
- floatingOffset: r,
22
- overlayDividerClassName: m,
23
- isBlocking: f,
24
- style: s,
25
- ...c
31
+ showDivider: u,
32
+ dividerColor: t,
33
+ resizeConfig: a,
34
+ floatingOffset: c,
35
+ overlayDividerClassName: f,
36
+ isBlocking: d,
37
+ sizeStyle: p,
38
+ skipMountAnimation: v,
39
+ container: m,
40
+ style: x,
41
+ ...C
26
42
  }) => {
27
- const { refs: p } = M(), { handleRef: d } = b({
28
- resizeConfig: i,
43
+ const { refs: y } = E(), { handleRef: l } = z({
44
+ resizeConfig: a,
29
45
  position: o,
30
- floatingRef: p.floating,
31
- requireMount: !0
32
- }), u = r ? {
33
- ...s,
34
- [y("offset-x")]: r.x,
35
- [y("offset-y")]: r.y
36
- } : s;
37
- return /* @__PURE__ */ P(
38
- D,
46
+ floatingRef: y.floating,
47
+ requireMount: !0,
48
+ container: m
49
+ }), r = G(x, p, c);
50
+ return /* @__PURE__ */ B(
51
+ q,
39
52
  {
40
- className: l,
53
+ className: e,
41
54
  skipFloatingStyles: !0,
42
- overlay: f,
43
- ...c,
44
- style: u,
55
+ overlay: d ? m ? { lockScroll: !1 } : !0 : !1,
56
+ ...C,
57
+ style: r,
45
58
  "data-position": o,
59
+ ...v ? { "data-status": "open" } : {},
46
60
  children: [
47
- a,
48
- n && /* @__PURE__ */ t(_, { position: o, className: m, dividerColor: e }),
49
- i && /* @__PURE__ */ t($, { ref: d })
61
+ s,
62
+ u && /* @__PURE__ */ n(
63
+ H,
64
+ {
65
+ position: o,
66
+ className: f,
67
+ dividerColor: t
68
+ }
69
+ ),
70
+ a && /* @__PURE__ */ n(w, { ref: l })
50
71
  ]
51
72
  }
52
73
  );
53
- }, L = ({
54
- contextValue: a,
55
- panelClassName: l,
74
+ }, so = ({
75
+ contextValue: s,
76
+ panelClassName: e,
56
77
  resolvedPosition: o,
57
- showDivider: n,
58
- modalType: e,
59
- closeOnOutsidePress: i,
60
- floatingOffset: r,
61
- open: m,
62
- onOpenChange: f,
63
- transitionConfig: s,
64
- dividerColor: c,
65
- children: p,
66
- resizeConfig: d,
67
- ...u
78
+ showDivider: u,
79
+ modalType: t,
80
+ closeOnOutsidePress: a,
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
68
93
  }) => {
69
- const g = e === "isModal" || e === "alert", C = I(e, i), N = R(
70
- v[`${x}__overlay-divider`],
71
- v[`${x}__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}`]
72
106
  );
73
- return /* @__PURE__ */ t(F.Provider, { value: a, children: /* @__PURE__ */ t(
74
- B,
107
+ return /* @__PURE__ */ n(j.Provider, { value: s, children: /* @__PURE__ */ n(
108
+ U,
75
109
  {
76
- open: m,
77
- onOpenChange: f,
78
- portalled: !0,
79
- transitionConfig: s,
80
- dismiss: C,
81
- focusConfiguration: g ? !0 : { modal: !1, closeOnFocusOut: !1 },
82
- children: /* @__PURE__ */ t(
83
- j,
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,
84
118
  {
85
- panelClassName: l,
119
+ panelClassName: e,
86
120
  resolvedPosition: o,
87
- showDivider: n,
88
- dividerColor: c,
89
- floatingOffset: r,
90
- overlayDividerClassName: N,
91
- isBlocking: g,
92
- resizeConfig: d,
93
- ...u,
94
- role: e === "alert" ? "alertdialog" : "dialog",
95
- "aria-modal": g || void 0,
96
- 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
97
134
  }
98
135
  )
99
136
  }
100
137
  ) });
101
138
  };
102
139
  export {
103
- L as OverlayPanel
140
+ so as OverlayPanel
104
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 S=require("react/jsx-runtime"),M=require("clsx"),E=require("react"),V=require("../../../chunks/classNames.DAeKwerT.js");require("../../../chunks/constants.hwjHOsvT.js");const W=require("./Header/Panel.Header.cjs.js"),G=require("./Panel.Body.cjs.js"),U=require("./Footer/Panel.Footer.cjs.js"),c=require("./Panel.helpers.cjs.js"),J=require("./Panel.Inline.cjs.js"),Q=require("./Panel.Overlay.cjs.js"),e=require("../../../chunks/panel.module.CVyUzyCZ.js"),X=165,Y=100,Z=(n,u)=>{if(!n||u==="full")return;const f=u==="bottom",l=typeof n=="object"?n:{},d=l.minSize??(f?Y:X),o=l.maxSize??1/0,P=l.storageKey??"";return{minSize:d,maxSize:o,storageKey:P}},{baseClassNamePrefix:s}=V.getBEMClassNames("panel"),_=({children:n,className:u,padding:f="md",onOpenChange:l,open:d,size:o="md",dismissible:P=!0,closeButtonAriaLabel:m="Close panel",kind:a="inline",position:y,divider:x=!0,dividerColor:g,isAnimated:v=!0,onBeforeClose:z,modalType:i,offset:N,resizable:B,id:O,...p})=>{const t=c.getResolvedPanelPosition(y),r=Z(B,t),D=!!r;if(process.env.NODE_ENV!=="production"){r&&!r.storageKey&&console.warn("Panel: provide a `storageKey` in the `resizable` config to persist panel size across sessions."),i==="alert"&&P&&console.warn('Panel: `dismissible` is ignored when `modalType="alert"`. The close button is always hidden.');const{closeOnOutsidePress:L}=p;L&&i!=="nonModal"&&i!==void 0&&console.warn('Panel: `closeOnOutsidePress` has no effect when `modalType` is not `"nonModal"`.')}const b=i==="alert"?!1:P,H=o&&(t!=="bottom"||o==="full"),w=a==="overlay"&&N?c.resolveOffset(N):void 0,q=!!w,$=M(e.styles[s],e.styles[`${s}--${a}`],H&&e.styles[`${s}--size-${o}`],e.styles[`${s}--padding-${f}`],e.styles[`${s}--position-${t}`],q&&e.styles[`${s}--floating`],D&&e.styles[`${s}--resizable`],u),T=M(e.styles[`${s}__inline-wrapper`],e.styles[`${s}__inline-wrapper--size-${o}`]),{requestClose:C,handleOverlayOpenChange:R}=c.usePanelClose(z,l),I=E.useMemo(()=>({kind:a,dismissible:b,closeButtonAriaLabel:m,position:y,requestClose:C}),[a,b,m,y,C]),{showDivider:j,dividerBefore:A,dividerInner:F,dividerAfter:K}=c.getPanelDividerState(x&&!q,t),h=E.useMemo(()=>({duration:v?c.PANEL_TRANSITION_DURATION_MS:0}),[v]);return a==="inline"?S.jsx(J.InlinePanel,{contextValue:I,panelClassName:$,inlineWrapperClassName:T,resolvedPosition:t,dividerBefore:A,dividerInner:F,dividerAfter:K,dividerColor:g,open:d,transitionConfig:h,resizeConfig:r,id:O,...p,children:n}):S.jsx(Q.OverlayPanel,{contextValue:I,panelClassName:$,resolvedPosition:t,showDivider:j,dividerColor:g,modalType:i,floatingOffset:w,open:d,onOpenChange:R,transitionConfig:h,resizeConfig:r,id:O,...p,children:n})};_.displayName="Panel";_.Header=W.Header;_.Body=G.Body;_.Footer=U.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;