@navikt/ds-react 7.30.1 → 7.32.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 (174) hide show
  1. package/cjs/chat/Chat.d.ts +1 -1
  2. package/cjs/chat/Chat.js.map +1 -1
  3. package/cjs/copybutton/CopyButton.js +1 -1
  4. package/cjs/copybutton/CopyButton.js.map +1 -1
  5. package/cjs/form/checkbox/Checkbox.js +1 -1
  6. package/cjs/form/checkbox/Checkbox.js.map +1 -1
  7. package/cjs/form/combobox/Combobox.js +15 -13
  8. package/cjs/form/combobox/Combobox.js.map +1 -1
  9. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +53 -3
  10. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  11. package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
  12. package/cjs/form/combobox/Input/Input.context.d.ts +2 -2
  13. package/cjs/form/combobox/Input/InputController.js +15 -14
  14. package/cjs/form/combobox/Input/InputController.js.map +1 -1
  15. package/cjs/form/file-upload/useFileUpload.d.ts +1 -1
  16. package/cjs/form/radio/Radio.js +1 -1
  17. package/cjs/form/radio/Radio.js.map +1 -1
  18. package/cjs/form/useFormField.js.map +1 -1
  19. package/cjs/modal/ModalUtils.d.ts +2 -2
  20. package/cjs/modal/ModalUtils.js.map +1 -1
  21. package/cjs/overlays/dismissablelayer/DismissableLayer.d.ts +1 -1
  22. package/cjs/overlays/floating/Floating.d.ts +11 -0
  23. package/cjs/overlays/floating/Floating.js +32 -8
  24. package/cjs/overlays/floating/Floating.js.map +1 -1
  25. package/cjs/overlays/overlay/hooks/useAnimationsFinished.d.ts +27 -0
  26. package/cjs/overlays/overlay/hooks/useAnimationsFinished.js +138 -0
  27. package/cjs/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -0
  28. package/cjs/overlays/overlay/hooks/useEventCallback.d.ts +6 -0
  29. package/cjs/overlays/overlay/hooks/useEventCallback.js +89 -0
  30. package/cjs/overlays/overlay/hooks/useEventCallback.js.map +1 -0
  31. package/cjs/overlays/overlay/hooks/useLatestRef.d.ts +5 -0
  32. package/cjs/overlays/overlay/hooks/useLatestRef.js +23 -0
  33. package/cjs/overlays/overlay/hooks/useLatestRef.js.map +1 -0
  34. package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.d.ts +31 -0
  35. package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.js +35 -0
  36. package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +1 -0
  37. package/cjs/overlays/overlay/hooks/useRefWithInit.d.ts +7 -0
  38. package/cjs/overlays/overlay/hooks/useRefWithInit.js +14 -0
  39. package/cjs/overlays/overlay/hooks/useRefWithInit.js.map +1 -0
  40. package/cjs/overlays/overlay/hooks/useTransitionStatus.d.ts +38 -0
  41. package/cjs/overlays/overlay/hooks/useTransitionStatus.js +118 -0
  42. package/cjs/overlays/overlay/hooks/useTransitionStatus.js.map +1 -0
  43. package/cjs/progress-bar/ProgressBar.js +1 -1
  44. package/cjs/progress-bar/ProgressBar.js.map +1 -1
  45. package/cjs/read-more/ReadMore.d.ts +2 -9
  46. package/cjs/read-more/ReadMore.js +1 -8
  47. package/cjs/read-more/ReadMore.js.map +1 -1
  48. package/cjs/table/AnimateHeight.js +2 -2
  49. package/cjs/table/AnimateHeight.js.map +1 -1
  50. package/cjs/table/ExpandableRow.d.ts +1 -1
  51. package/cjs/table/ExpandableRow.js +2 -10
  52. package/cjs/table/ExpandableRow.js.map +1 -1
  53. package/cjs/table/Row.d.ts +7 -0
  54. package/cjs/table/Row.js +13 -2
  55. package/cjs/table/Row.js.map +1 -1
  56. package/cjs/table/Table.utils.d.ts +9 -0
  57. package/cjs/table/Table.utils.js +57 -0
  58. package/cjs/table/Table.utils.js.map +1 -0
  59. package/cjs/tabs/Tabs.context.d.ts +1 -1
  60. package/cjs/tabs/parts/tab/useTab.d.ts +1 -1
  61. package/cjs/tabs/parts/tablist/useScrollButtons.d.ts +1 -1
  62. package/cjs/tabs/parts/tablist/useScrollButtons.js.map +1 -1
  63. package/cjs/toggle-group/ToggleGroup.context.d.ts +1 -1
  64. package/cjs/toggle-group/parts/useToggleItem.d.ts +1 -1
  65. package/cjs/util/hooks/descendants/useDescendant.d.ts +1 -1
  66. package/cjs/util/hooks/useMergeRefs.d.ts +3 -3
  67. package/cjs/util/hooks/useMergeRefs.js +3 -3
  68. package/cjs/util/hooks/useMergeRefs.js.map +1 -1
  69. package/cjs/util/renderStoriesForChromatic.d.ts +2 -2
  70. package/cjs/util/renderStoriesForChromatic.js +2 -2
  71. package/cjs/util/renderStoriesForChromatic.js.map +1 -1
  72. package/cjs/util/virtualfocus/Context.d.ts +1 -1
  73. package/esm/chat/Chat.d.ts +1 -1
  74. package/esm/chat/Chat.js.map +1 -1
  75. package/esm/copybutton/CopyButton.js +1 -1
  76. package/esm/copybutton/CopyButton.js.map +1 -1
  77. package/esm/form/checkbox/Checkbox.js +1 -1
  78. package/esm/form/checkbox/Checkbox.js.map +1 -1
  79. package/esm/form/combobox/Combobox.js +15 -13
  80. package/esm/form/combobox/Combobox.js.map +1 -1
  81. package/esm/form/combobox/FilteredOptions/FilteredOptions.js +21 -4
  82. package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  83. package/esm/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
  84. package/esm/form/combobox/Input/Input.context.d.ts +2 -2
  85. package/esm/form/combobox/Input/InputController.js +15 -14
  86. package/esm/form/combobox/Input/InputController.js.map +1 -1
  87. package/esm/form/file-upload/useFileUpload.d.ts +1 -1
  88. package/esm/form/radio/Radio.js +1 -1
  89. package/esm/form/radio/Radio.js.map +1 -1
  90. package/esm/form/useFormField.js.map +1 -1
  91. package/esm/modal/ModalUtils.d.ts +2 -2
  92. package/esm/modal/ModalUtils.js.map +1 -1
  93. package/esm/overlays/dismissablelayer/DismissableLayer.d.ts +1 -1
  94. package/esm/overlays/floating/Floating.d.ts +11 -0
  95. package/esm/overlays/floating/Floating.js +32 -8
  96. package/esm/overlays/floating/Floating.js.map +1 -1
  97. package/esm/overlays/overlay/hooks/useAnimationsFinished.d.ts +27 -0
  98. package/esm/overlays/overlay/hooks/useAnimationsFinished.js +99 -0
  99. package/esm/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -0
  100. package/esm/overlays/overlay/hooks/useEventCallback.d.ts +6 -0
  101. package/esm/overlays/overlay/hooks/useEventCallback.js +53 -0
  102. package/esm/overlays/overlay/hooks/useEventCallback.js.map +1 -0
  103. package/esm/overlays/overlay/hooks/useLatestRef.d.ts +5 -0
  104. package/esm/overlays/overlay/hooks/useLatestRef.js +20 -0
  105. package/esm/overlays/overlay/hooks/useLatestRef.js.map +1 -0
  106. package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.d.ts +31 -0
  107. package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.js +32 -0
  108. package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +1 -0
  109. package/esm/overlays/overlay/hooks/useRefWithInit.d.ts +7 -0
  110. package/esm/overlays/overlay/hooks/useRefWithInit.js +12 -0
  111. package/esm/overlays/overlay/hooks/useRefWithInit.js.map +1 -0
  112. package/esm/overlays/overlay/hooks/useTransitionStatus.d.ts +38 -0
  113. package/esm/overlays/overlay/hooks/useTransitionStatus.js +113 -0
  114. package/esm/overlays/overlay/hooks/useTransitionStatus.js.map +1 -0
  115. package/esm/progress-bar/ProgressBar.js +1 -1
  116. package/esm/progress-bar/ProgressBar.js.map +1 -1
  117. package/esm/read-more/ReadMore.d.ts +2 -9
  118. package/esm/read-more/ReadMore.js +1 -8
  119. package/esm/read-more/ReadMore.js.map +1 -1
  120. package/esm/table/AnimateHeight.js +2 -2
  121. package/esm/table/AnimateHeight.js.map +1 -1
  122. package/esm/table/ExpandableRow.d.ts +1 -1
  123. package/esm/table/ExpandableRow.js +2 -10
  124. package/esm/table/ExpandableRow.js.map +1 -1
  125. package/esm/table/Row.d.ts +7 -0
  126. package/esm/table/Row.js +13 -2
  127. package/esm/table/Row.js.map +1 -1
  128. package/esm/table/Table.utils.d.ts +9 -0
  129. package/esm/table/Table.utils.js +55 -0
  130. package/esm/table/Table.utils.js.map +1 -0
  131. package/esm/tabs/Tabs.context.d.ts +1 -1
  132. package/esm/tabs/parts/tab/useTab.d.ts +1 -1
  133. package/esm/tabs/parts/tablist/useScrollButtons.d.ts +1 -1
  134. package/esm/tabs/parts/tablist/useScrollButtons.js.map +1 -1
  135. package/esm/toggle-group/ToggleGroup.context.d.ts +1 -1
  136. package/esm/toggle-group/parts/useToggleItem.d.ts +1 -1
  137. package/esm/util/hooks/descendants/useDescendant.d.ts +1 -1
  138. package/esm/util/hooks/useMergeRefs.d.ts +3 -3
  139. package/esm/util/hooks/useMergeRefs.js +3 -3
  140. package/esm/util/hooks/useMergeRefs.js.map +1 -1
  141. package/esm/util/renderStoriesForChromatic.d.ts +2 -2
  142. package/esm/util/renderStoriesForChromatic.js +2 -2
  143. package/esm/util/renderStoriesForChromatic.js.map +1 -1
  144. package/esm/util/virtualfocus/Context.d.ts +1 -1
  145. package/package.json +4 -4
  146. package/src/chat/Chat.tsx +3 -3
  147. package/src/copybutton/CopyButton.tsx +1 -1
  148. package/src/form/checkbox/Checkbox.tsx +5 -3
  149. package/src/form/combobox/Combobox.tsx +44 -41
  150. package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +29 -4
  151. package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +1 -0
  152. package/src/form/combobox/Input/Input.context.tsx +2 -2
  153. package/src/form/combobox/Input/InputController.tsx +33 -29
  154. package/src/form/radio/Radio.tsx +5 -3
  155. package/src/form/useFormField.ts +1 -1
  156. package/src/modal/ModalUtils.ts +2 -2
  157. package/src/overlays/action-menu/ActionMenu.tsx +1 -1
  158. package/src/overlays/floating/Floating.tsx +110 -59
  159. package/src/overlays/overlay/hooks/useAnimationsFinished.ts +117 -0
  160. package/src/overlays/overlay/hooks/useEventCallback.ts +73 -0
  161. package/src/overlays/overlay/hooks/useLatestRef.ts +25 -0
  162. package/src/overlays/overlay/hooks/useOpenChangeAnimationComplete.ts +66 -0
  163. package/src/overlays/overlay/hooks/useRefWithInit.ts +25 -0
  164. package/src/overlays/overlay/hooks/useTransitionStatus.ts +145 -0
  165. package/src/progress-bar/ProgressBar.tsx +1 -1
  166. package/src/read-more/ReadMore.tsx +4 -11
  167. package/src/table/AnimateHeight.tsx +2 -2
  168. package/src/table/ExpandableRow.tsx +4 -17
  169. package/src/table/Row.tsx +33 -1
  170. package/src/table/Table.utils.ts +65 -0
  171. package/src/tabs/parts/tablist/useScrollButtons.ts +3 -1
  172. package/src/util/hooks/useMergeRefs.ts +5 -5
  173. package/src/util/link-anchor/LinkAnchor.tsx +1 -1
  174. package/src/util/renderStoriesForChromatic.tsx +4 -5
@@ -1 +1 @@
1
- {"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,14 @@ interface InputContextValue extends FormFieldType {
5
5
  clearInput: NonNullable<ComboboxProps["onClear"]>;
6
6
  error?: ComboboxProps["error"];
7
7
  focusInput: () => void;
8
- inputRef: React.RefObject<HTMLInputElement>;
8
+ inputRef: React.RefObject<HTMLInputElement | null>;
9
9
  value: string;
10
10
  setValue: (text: string) => void;
11
11
  onChange: (newValue: string) => void;
12
12
  searchTerm: string;
13
13
  setSearchTerm: React.Dispatch<React.SetStateAction<string>>;
14
14
  shouldAutocomplete?: boolean;
15
- toggleOpenButtonRef: React.RefObject<HTMLDivElement>;
15
+ toggleOpenButtonRef: React.MutableRefObject<HTMLDivElement | null>;
16
16
  hideCaret: boolean;
17
17
  setHideCaret: React.Dispatch<React.SetStateAction<boolean>>;
18
18
  }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable jsx-a11y/click-events-have-key-events */
1
2
  var __rest = (this && this.__rest) || function (s, e) {
2
3
  var t = {};
3
4
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -11,6 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
11
12
  };
12
13
  /* eslint-disable jsx-a11y/no-static-element-interactions */
13
14
  import React, { forwardRef } from "react";
15
+ import { Floating } from "../../../overlays/floating/Floating.js";
14
16
  import { useRenameCSS } from "../../../theme/Theme.js";
15
17
  import { useMergeRefs } from "../../../util/hooks/index.js";
16
18
  import { useFilteredOptionsContext } from "../FilteredOptions/filteredOptionsContext.js";
@@ -30,19 +32,18 @@ export const InputController = forwardRef((props, ref) => {
30
32
  const { activeDecendantId, toggleIsListOpen } = useFilteredOptionsContext();
31
33
  const { selectedOptions } = useSelectedOptionsContext();
32
34
  const mergedInputRef = useMergeRefs(inputRef, ref);
33
- return (
34
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events
35
- React.createElement("div", { className: cn("navds-combobox__wrapper-inner navds-text-field__input", {
36
- "navds-combobox__wrapper-inner--virtually-unfocused": activeDecendantId !== undefined,
37
- }), onClick: () => {
38
- if (inputProps.disabled || readOnly) {
39
- return;
40
- }
41
- toggleIsListOpen(true);
42
- focusInput();
43
- } },
44
- !shouldShowSelectedOptions ? (React.createElement(Input, Object.assign({ id: inputProps.id, ref: mergedInputRef, inputClassName: inputClassName, readOnly: readOnly }, rest))) : (React.createElement(SelectedOptions, { selectedOptions: selectedOptions, size: size },
45
- React.createElement(Input, Object.assign({ id: inputProps.id, ref: mergedInputRef, inputClassName: inputClassName, shouldShowSelectedOptions: shouldShowSelectedOptions, readOnly: readOnly }, rest)))),
46
- toggleListButton && React.createElement(ToggleListButton, { ref: toggleOpenButtonRef })));
35
+ return (React.createElement(Floating.Anchor, { asChild: true },
36
+ React.createElement("div", { className: cn("navds-combobox__wrapper-inner navds-text-field__input", {
37
+ "navds-combobox__wrapper-inner--virtually-unfocused": activeDecendantId !== undefined,
38
+ }), onClick: () => {
39
+ if (inputProps.disabled || readOnly) {
40
+ return;
41
+ }
42
+ toggleIsListOpen(true);
43
+ focusInput();
44
+ } },
45
+ !shouldShowSelectedOptions ? (React.createElement(Input, Object.assign({ id: inputProps.id, ref: mergedInputRef, inputClassName: inputClassName, readOnly: readOnly }, rest))) : (React.createElement(SelectedOptions, { selectedOptions: selectedOptions, size: size },
46
+ React.createElement(Input, Object.assign({ id: inputProps.id, ref: mergedInputRef, inputClassName: inputClassName, shouldShowSelectedOptions: shouldShowSelectedOptions, readOnly: readOnly }, rest)))),
47
+ toggleListButton && React.createElement(ToggleListButton, { ref: toggleOpenButtonRef }))));
47
48
  });
48
49
  //# sourceMappingURL=InputController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputController.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/InputController.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,4DAA4D;AAC5D,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAcvC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM;IACJ,sHAAsH;IACtH,WAAW;IACX,sHAAsH;IACtH,gBAAgB,EAChB,gBAAgB,GAAG,IAAI,EACvB,cAAc,EACd,yBAAyB,GAAG,IAAI,KAG9B,KAAK,EADJ,IAAI,UACL,KAAK,EAVH,sGAUL,CAAQ,CAAC;IAEV,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9B,MAAM,EACJ,UAAU,EACV,UAAU,EACV,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,mBAAmB,EACnB,QAAQ,GACT,GAAG,eAAe,EAAE,CAAC;IAEtB,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAC5E,MAAM,EAAE,eAAe,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAExD,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEnD,OAAO;IACL,iEAAiE;IACjE,6BACE,SAAS,EAAE,EAAE,CAAC,uDAAuD,EAAE;YACrE,oDAAoD,EAClD,iBAAiB,KAAK,SAAS;SAClC,CAAC,EACF,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,UAAU,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,UAAU,EAAE,CAAC;QACf,CAAC;QAEA,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAC5B,oBAAC,KAAK,kBACJ,EAAE,EAAE,UAAU,CAAC,EAAE,EACjB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,IACd,IAAI,EACR,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,eAAe,IAAC,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI;YAC3D,oBAAC,KAAK,kBACJ,EAAE,EAAE,UAAU,CAAC,EAAE,EACjB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,cAAc,EAC9B,yBAAyB,EAAE,yBAAyB,EACpD,QAAQ,EAAE,QAAQ,IACd,IAAI,EACR,CACc,CACnB;QACA,gBAAgB,IAAI,oBAAC,gBAAgB,IAAC,GAAG,EAAE,mBAAmB,GAAI,CAC/D,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"InputController.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/InputController.tsx"],"names":[],"mappings":"AAAA,0DAA0D;;;;;;;;;;;;AAE1D,4DAA4D;AAC5D,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAcvC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM;IACJ,sHAAsH;IACtH,WAAW;IACX,sHAAsH;IACtH,gBAAgB,EAChB,gBAAgB,GAAG,IAAI,EACvB,cAAc,EACd,yBAAyB,GAAG,IAAI,KAG9B,KAAK,EADJ,IAAI,UACL,KAAK,EAVH,sGAUL,CAAQ,CAAC;IAEV,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9B,MAAM,EACJ,UAAU,EACV,UAAU,EACV,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,mBAAmB,EACnB,QAAQ,GACT,GAAG,eAAe,EAAE,CAAC;IAEtB,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAC5E,MAAM,EAAE,eAAe,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAExD,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEnD,OAAO,CACL,oBAAC,QAAQ,CAAC,MAAM,IAAC,OAAO;QACtB,6BACE,SAAS,EAAE,EAAE,CAAC,uDAAuD,EAAE;gBACrE,oDAAoD,EAClD,iBAAiB,KAAK,SAAS;aAClC,CAAC,EACF,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,UAAU,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBACpC,OAAO;gBACT,CAAC;gBAED,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,UAAU,EAAE,CAAC;YACf,CAAC;YAEA,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAC5B,oBAAC,KAAK,kBACJ,EAAE,EAAE,UAAU,CAAC,EAAE,EACjB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,IACd,IAAI,EACR,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,eAAe,IAAC,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI;gBAC3D,oBAAC,KAAK,kBACJ,EAAE,EAAE,UAAU,CAAC,EAAE,EACjB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,cAAc,EAC9B,yBAAyB,EAAE,yBAAyB,EACpD,QAAQ,EAAE,QAAQ,IACd,IAAI,EACR,CACc,CACnB;YACA,gBAAgB,IAAI,oBAAC,gBAAgB,IAAC,GAAG,EAAE,mBAAmB,GAAI,CAC/D,CACU,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -7,5 +7,5 @@ export declare const useFileUpload: ({ ref, accept, onSelect, validator, maxSize
7
7
  upload: (fileList: FileList) => void;
8
8
  onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
9
9
  inputRef: import("react").MutableRefObject<HTMLInputElement | null>;
10
- mergedRef: (instance: HTMLInputElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
10
+ mergedRef: (instance: HTMLInputElement | null) => void;
11
11
  };
@@ -17,7 +17,7 @@ export const Radio = forwardRef((props, ref) => {
17
17
  }), "data-color": hasError ? "danger" : props["data-color"] },
18
18
  React.createElement("input", Object.assign({}, omit(props, ["children", "size", "description", "readOnly"]), omit(inputProps, ["aria-invalid", "aria-describedby"]), { "aria-describedby": cl(inputProps["aria-describedby"], {
19
19
  [descriptionId]: props.description,
20
- }), className: cn("navds-radio__input"), ref: ref })),
20
+ }) || undefined, className: cn("navds-radio__input"), ref: ref })),
21
21
  React.createElement(BodyShort, { as: "label", htmlFor: inputProps.id, className: cn("navds-radio__label"), size: size }, props.children),
22
22
  props.description && (React.createElement(BodyShort, { id: descriptionId, size: size, className: cn("navds-form-field__subdescription navds-radio__description") }, props.description))));
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/form/radio/Radio.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/form/radio/Radio.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFormField.js","sourceRoot":"","sources":["../../src/form/useFormField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAkDrD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAAqB,EACrB,MAAc,EACC,EAAE;;IACjB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAEpD,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;IAEtB,MAAM,EAAE,GAAG,MAAA,KAAK,CAAC,EAAE,mCAAI,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,GAAG,MAAM,UAAU,KAAK,EAAE,CAAC;IAC1D,MAAM,kBAAkB,GAAG,GAAG,MAAM,gBAAgB,KAAK,EAAE,CAAC;IAE5D,MAAM,QAAQ,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,KAAK,CAAC,QAAQ,CAAC;IACtD,MAAM,QAAQ,GACZ,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAErE,MAAM,QAAQ,GACZ,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,CAAC,CAAC;IACzD,MAAM,YAAY,GAChB,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;IAElE,MAAM,WAAW,qBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC;IAEtE,IAAI,CAAC,KAAa,aAAb,KAAK,uBAAL,KAAK,CAAU,QAAQ,KAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CACV,yFAAyF,CAC1F,CAAC;QACF,OAAO,CAAC,IAAI,CACV,+FAA+F,CAChG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY;QACZ,QAAQ;QACR,OAAO;QACP,kBAAkB;QAClB,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,QAAQ;QACxC,QAAQ;QACR,UAAU,gCACR,EAAE,IACC,WAAW,KACd,kBAAkB,EAChB,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;gBAC5B,CAAC,kBAAkB,CAAC,EAClB,KAAK,CAAC,WAAW,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC3D,CAAC,OAAO,CAAC,EAAE,YAAY;gBACvB,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,mCAAI,EAAE,CAAC,EAAE,QAAQ,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA;aACvD,CAAC,IAAI,SAAS,EAEjB,QAAQ,GACT;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,QAAyB,EACzB,WAAW,GAAG,IAAI;IAElB,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC;YAC3C,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"useFormField.js","sourceRoot":"","sources":["../../src/form/useFormField.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export interface MouseCoordinates {
5
5
  clientY: number;
6
6
  }
7
7
  export declare const coordsAreInside: ({ clientX, clientY }: MouseCoordinates, { left, top, right, bottom }: DOMRect) => boolean;
8
- export declare function getCloseHandler(modalRef: React.RefObject<HTMLDialogElement>, header: ModalProps["header"], onBeforeClose: ModalProps["onBeforeClose"]): (() => false | void | undefined) | undefined;
8
+ export declare function getCloseHandler(modalRef: React.RefObject<HTMLDialogElement | null>, header: ModalProps["header"], onBeforeClose: ModalProps["onBeforeClose"]): (() => false | void | undefined) | undefined;
9
9
  export declare const BODY_CLASS_LEGACY = "navds-modal__document-body";
10
10
  export declare const BODY_CLASS = "aksel-modal__document-body";
11
- export declare function useBodyScrollLock(modalRef: React.RefObject<HTMLDialogElement>, portalNode: HTMLElement | null, isNested: boolean): void;
11
+ export declare function useBodyScrollLock(modalRef: React.RefObject<HTMLDialogElement | null>, portalNode: HTMLElement | null, isNested: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalUtils.js","sourceRoot":"","sources":["../../src/modal/ModalUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,EAAE,OAAO,EAAE,OAAO,EAAoB,EACtC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAW,EACrC,EAAE;IACF,IAAI,OAAO,GAAG,IAAI,IAAI,OAAO,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,OAAO,GAAG,KAAK,IAAI,OAAO,GAAG,MAAM;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,QAA4C,EAC5C,MAA4B,EAC5B,aAA0C;IAE1C,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,GAAG,EAAE,WAAC,OAAA,aAAa,EAAE,KAAK,KAAK,KAAI,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,CAAA,EAAA,CAAC;IACtE,CAAC;IACD,OAAO,GAAG,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAC9D,MAAM,CAAC,MAAM,UAAU,GAAG,4BAA4B,CAAC;AAEvD,MAAM,UAAU,iBAAiB,CAC/B,QAA4C,EAC5C,UAA8B,EAC9B,QAAiB;IAEjB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;;YACzC,IAAI,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;YACjC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,MAAM,CAAC;SAC1B,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,gDAAgD;YAChD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAChE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"ModalUtils.js","sourceRoot":"","sources":["../../src/modal/ModalUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,EAAE,OAAO,EAAE,OAAO,EAAoB,EACtC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAW,EACrC,EAAE;IACF,IAAI,OAAO,GAAG,IAAI,IAAI,OAAO,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,OAAO,GAAG,KAAK,IAAI,OAAO,GAAG,MAAM;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,QAAmD,EACnD,MAA4B,EAC5B,aAA0C;IAE1C,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,GAAG,EAAE,WAAC,OAAA,aAAa,EAAE,KAAK,KAAK,KAAI,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,CAAA,EAAA,CAAC;IACtE,CAAC;IACD,OAAO,GAAG,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAC9D,MAAM,CAAC,MAAM,UAAU,GAAG,4BAA4B,CAAC;AAEvD,MAAM,UAAU,iBAAiB,CAC/B,QAAmD,EACnD,UAA8B,EAC9B,QAAiB;IAEjB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;;YACzC,IAAI,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;YACjC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,MAAM,CAAC;SAC1B,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,gDAAgD;YAChD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAChE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC"}
@@ -70,7 +70,7 @@ export declare const DismissableDescendantsProvider: React.Provider<import("../.
70
70
  }>;
71
71
  index: number;
72
72
  enabledIndex: number;
73
- register: (instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
73
+ register: (instance: HTMLDivElement | null) => void;
74
74
  };
75
75
  declare const DismissableLayer: React.ForwardRefExoticComponent<DismissableLayerProps & React.RefAttributes<HTMLDivElement>>;
76
76
  export { DismissableLayer, type DismissableLayerProps };
@@ -1,3 +1,4 @@
1
+ import { FlipOptions } from "@floating-ui/react-dom";
1
2
  import React, { HTMLAttributes } from "react";
2
3
  import { AsChildProps } from "../../util/types/index.js";
3
4
  import { type Align, type Measurable, type Side } from "./Floating.utils.js";
@@ -41,7 +42,17 @@ interface FloatingContentProps extends HTMLAttributes<HTMLDivElement> {
41
42
  collisionPadding?: number | Partial<Record<Side, number>>;
42
43
  hideWhenDetached?: boolean;
43
44
  updatePositionStrategy?: "optimized" | "always";
45
+ fallbackPlacements?: FlipOptions["fallbackPlacements"];
44
46
  onPlaced?: () => void;
47
+ /**
48
+ * @default true
49
+ */
50
+ enabled?: boolean;
51
+ /**
52
+ * Only use this option if your floating element is conditionally rendered, not hidden with CSS.
53
+ * @default true
54
+ */
55
+ autoUpdateWhileMounted?: boolean;
45
56
  arrow?: {
46
57
  className?: string;
47
58
  padding?: number;
@@ -11,9 +11,11 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import { autoUpdate, flip, arrow as floatingArrow, hide, limitShift, offset, shift, size, useFloating, } from "@floating-ui/react-dom";
13
13
  import React, { forwardRef, useEffect, useRef, useState, } from "react";
14
+ import { useModalContext } from "../../modal/Modal.context.js";
14
15
  import { Slot } from "../../slot/Slot.js";
15
16
  import { createContext } from "../../util/create-context.js";
16
17
  import { useCallbackRef, useClientLayoutEffect, useMergeRefs, } from "../../util/hooks/index.js";
18
+ import { useOpenChangeAnimationComplete } from "../overlay/hooks/useOpenChangeAnimationComplete.js";
17
19
  import { getSideAndAlignFromPlacement, transformOrigin, } from "./Floating.utils.js";
18
20
  export const [FloatingProvider, useFloatingContext] = createContext({
19
21
  name: "FloatingContext",
@@ -82,8 +84,9 @@ const [FloatingContentProvider, useFloatingContentContext] = createContext({
82
84
  });
83
85
  const FloatingContent = forwardRef((_a, forwardedRef) => {
84
86
  var _b, _c, _d, _e, _f, _g;
85
- var { children, side = "bottom", sideOffset = 0, align = "center", alignOffset = 0, avoidCollisions = true, collisionBoundary = [], collisionPadding: collisionPaddingProp = 0, hideWhenDetached = false, updatePositionStrategy = "optimized", onPlaced, arrow: _arrow } = _a, contentProps = __rest(_a, ["children", "side", "sideOffset", "align", "alignOffset", "avoidCollisions", "collisionBoundary", "collisionPadding", "hideWhenDetached", "updatePositionStrategy", "onPlaced", "arrow"]);
87
+ var { children, side = "bottom", sideOffset = 0, align = "center", alignOffset = 0, avoidCollisions = true, collisionBoundary = [], collisionPadding: collisionPaddingProp = 0, hideWhenDetached = false, updatePositionStrategy = "optimized", onPlaced, arrow: _arrow, fallbackPlacements, enabled = true, autoUpdateWhileMounted = true } = _a, contentProps = __rest(_a, ["children", "side", "sideOffset", "align", "alignOffset", "avoidCollisions", "collisionBoundary", "collisionPadding", "hideWhenDetached", "updatePositionStrategy", "onPlaced", "arrow", "fallbackPlacements", "enabled", "autoUpdateWhileMounted"]);
86
88
  const context = useFloatingContext();
89
+ const modalContext = useModalContext(false);
87
90
  const arrowDefaults = Object.assign({ padding: 5, width: 0, height: 0 }, _arrow);
88
91
  const [arrow, setArrow] = useState(null);
89
92
  const arrowWidth = arrowDefaults.width;
@@ -110,17 +113,21 @@ const FloatingContent = forwardRef((_a, forwardedRef) => {
110
113
  altBoundary: hasExplicitBoundaries,
111
114
  /* https://floating-ui.com/docs/flip#fallbackaxissidedirection */
112
115
  fallbackAxisSideDirection: "end",
116
+ fallbackPlacements,
113
117
  };
114
- const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({
118
+ const { refs, floatingStyles, placement, isPositioned, middlewareData, elements: floatingElements, update, } = useFloating({
119
+ open: enabled,
115
120
  // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
116
121
  strategy: "fixed",
117
122
  placement: desiredPlacement,
118
- whileElementsMounted: (...args) => {
119
- const cleanup = autoUpdate(...args, {
120
- animationFrame: updatePositionStrategy === "always",
121
- });
122
- return cleanup;
123
- },
123
+ whileElementsMounted: autoUpdateWhileMounted
124
+ ? (...args) => {
125
+ const cleanup = autoUpdate(...args, {
126
+ animationFrame: updatePositionStrategy === "always",
127
+ });
128
+ return cleanup;
129
+ }
130
+ : undefined,
124
131
  elements: {
125
132
  reference: context.anchor,
126
133
  },
@@ -154,6 +161,23 @@ const FloatingContent = forwardRef((_a, forwardedRef) => {
154
161
  hide(Object.assign({ strategy: "referenceHidden" }, detectOverflowOptions)),
155
162
  ],
156
163
  });
164
+ useEffect(() => {
165
+ if (autoUpdateWhileMounted || !enabled) {
166
+ return;
167
+ }
168
+ if (floatingElements.reference && floatingElements.floating) {
169
+ const cleanup = autoUpdate(floatingElements.reference, floatingElements.floating, update);
170
+ return () => {
171
+ cleanup();
172
+ };
173
+ }
174
+ }, [autoUpdateWhileMounted, enabled, floatingElements, update]);
175
+ useOpenChangeAnimationComplete({
176
+ enabled: !!(modalContext === null || modalContext === void 0 ? void 0 : modalContext.ref),
177
+ open: enabled,
178
+ ref: modalContext === null || modalContext === void 0 ? void 0 : modalContext.ref,
179
+ onComplete: update,
180
+ });
157
181
  const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
158
182
  const handlePlaced = useCallbackRef(onPlaced);
159
183
  useClientLayoutEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Floating.js","sourceRoot":"","sources":["../../../src/overlays/floating/Floating.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Floating.js","sourceRoot":"","sources":["../../../src/overlays/floating/Floating.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ /**
3
+ * Returns a stable function that, when invoked, waits for all current CSS/Web Animations
4
+ * on a target element (and its subtree) to finish before executing a callback.
5
+ *
6
+ * Why:
7
+ * - Coordinate logic (unmount, focus restore, measuring) after exit / enter animations.
8
+ * - Avoid `animationend` event bookkeeping across multiple animations / nested elements.
9
+ * - Batch detection using `requestAnimationFrame` so freshly-applied animations are discoverable.
10
+ *
11
+ * Mechanics:
12
+ * 1. Resolves the concrete `HTMLElement` (direct element or from ref) – early no-op if missing.
13
+ * 2. If `getAnimations` is unsupported or animations are globally disabled (`AKSEL_ANIMATIONS_DISABLED`),
14
+ * runs the callback immediately.
15
+ * 3. Schedules a frame so style/animation changes applied this render are committed.
16
+ * 4. Optionally schedules an additional frame (`waitForNextTick=true`) to catch animations that
17
+ * start only after layout (e.g. when an `open` class triggers the animation).
18
+ * 5. Captures all current animations, waits on their `.finished` promises (using `Promise.allSettled`
19
+ * so rejections don't block), then `flushSync` executes the callback (ensures React state updates
20
+ * inside run before the browser paints the next frame).
21
+ * 6. If an `AbortSignal` aborts while waiting, it silently cancels execution.
22
+ *
23
+ * @param elementOrRef HTMLElement or ref to observe.
24
+ * @param waitForNextTick If true, waits an extra frame to ensure enter animations are detectable.
25
+ * @returns Stable function (identity preserved) accepting (fn, abortSignal?).
26
+ */
27
+ export declare function useAnimationsFinished(elementOrRef: React.RefObject<HTMLElement | null> | HTMLElement | null, waitForNextTick?: boolean): (fnToExecute: () => void, signal?: AbortSignal | null) => void;
@@ -0,0 +1,99 @@
1
+ "use client";
2
+ import React, { useCallback, useEffect } from "react";
3
+ import ReactDOM from "react-dom";
4
+ import { useEventCallback } from "./useEventCallback.js";
5
+ /**
6
+ * Returns a stable function that, when invoked, waits for all current CSS/Web Animations
7
+ * on a target element (and its subtree) to finish before executing a callback.
8
+ *
9
+ * Why:
10
+ * - Coordinate logic (unmount, focus restore, measuring) after exit / enter animations.
11
+ * - Avoid `animationend` event bookkeeping across multiple animations / nested elements.
12
+ * - Batch detection using `requestAnimationFrame` so freshly-applied animations are discoverable.
13
+ *
14
+ * Mechanics:
15
+ * 1. Resolves the concrete `HTMLElement` (direct element or from ref) – early no-op if missing.
16
+ * 2. If `getAnimations` is unsupported or animations are globally disabled (`AKSEL_ANIMATIONS_DISABLED`),
17
+ * runs the callback immediately.
18
+ * 3. Schedules a frame so style/animation changes applied this render are committed.
19
+ * 4. Optionally schedules an additional frame (`waitForNextTick=true`) to catch animations that
20
+ * start only after layout (e.g. when an `open` class triggers the animation).
21
+ * 5. Captures all current animations, waits on their `.finished` promises (using `Promise.allSettled`
22
+ * so rejections don't block), then `flushSync` executes the callback (ensures React state updates
23
+ * inside run before the browser paints the next frame).
24
+ * 6. If an `AbortSignal` aborts while waiting, it silently cancels execution.
25
+ *
26
+ * @param elementOrRef HTMLElement or ref to observe.
27
+ * @param waitForNextTick If true, waits an extra frame to ensure enter animations are detectable.
28
+ * @returns Stable function (identity preserved) accepting (fn, abortSignal?).
29
+ */
30
+ export function useAnimationsFinished(elementOrRef, waitForNextTick = false) {
31
+ const rootFrameRef = React.useRef(null);
32
+ const nestedFrameRef = React.useRef(null);
33
+ const cancelScheduled = useCallback(() => {
34
+ for (const ref of [rootFrameRef, nestedFrameRef]) {
35
+ if (ref.current !== null) {
36
+ cancelAnimationFrame(ref.current);
37
+ ref.current = null;
38
+ }
39
+ }
40
+ }, []);
41
+ /* Unmount cleanup */
42
+ useEffect(() => {
43
+ return () => cancelScheduled();
44
+ }, [cancelScheduled]);
45
+ return useEventCallback((
46
+ /**
47
+ * A function to execute once all animations have finished.
48
+ */
49
+ fnToExecute,
50
+ /**
51
+ * An optional [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that
52
+ * can be used to abort `fnToExecute` before all the animations have finished.
53
+ * @default null
54
+ */
55
+ signal = null) => {
56
+ // Cancel any in-flight scheduling from a previous invocation (next-frame debounce semantics)
57
+ cancelScheduled();
58
+ if (elementOrRef == null) {
59
+ return;
60
+ }
61
+ const element = "current" in elementOrRef ? elementOrRef.current : elementOrRef;
62
+ if (element == null) {
63
+ return;
64
+ }
65
+ // Fast path: no Web Animations API support OR animations globally disabled.
66
+ if (typeof element.getAnimations !== "function" ||
67
+ // Flag hook for test envs.
68
+ globalThis.AKSEL_ANIMATIONS_DISABLED) {
69
+ fnToExecute();
70
+ return;
71
+ }
72
+ rootFrameRef.current = requestAnimationFrame(() => {
73
+ function exec() {
74
+ if (!element) {
75
+ return;
76
+ }
77
+ // Collect animations present at this moment; we don't continuously observe
78
+ // if new animations start after these settle, caller should invoke again.
79
+ Promise.allSettled(element.getAnimations().map((anim) => anim.finished)).then(() => {
80
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted)
81
+ return;
82
+ // Ensure any state updates inside the callback are flushed synchronously,
83
+ // guaranteeing that dependent logic observes the current
84
+ // tree rather than a stale in-progress update.
85
+ ReactDOM.flushSync(fnToExecute);
86
+ });
87
+ }
88
+ // Some animations (e.g. triggered by a class applied this same frame) only
89
+ // become observable after an extra frame; opt-in via flag.
90
+ if (waitForNextTick) {
91
+ nestedFrameRef.current = requestAnimationFrame(exec);
92
+ }
93
+ else {
94
+ exec();
95
+ }
96
+ });
97
+ });
98
+ }
99
+ //# sourceMappingURL=useAnimationsFinished.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAnimationsFinished.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useAnimationsFinished.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAsE,EACtE,eAAe,GAAG,KAAK;IAEvB,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACzB,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,qBAAqB;IACrB,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,gBAAgB,CACrB;IACE;;OAEG;IACH,WAAuB;IACvB;;;;OAIG;IACH,SAA6B,IAAI,EACjC,EAAE;QACF,6FAA6F;QAC7F,eAAe,EAAE,CAAC;QAElB,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GACX,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;QAClE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,IACE,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU;YAC3C,2BAA2B;YAC1B,UAAkB,CAAC,yBAAyB,EAC7C,CAAC;YACD,WAAW,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,YAAY,CAAC,OAAO,GAAG,qBAAqB,CAAC,GAAG,EAAE;YAChD,SAAS,IAAI;gBACX,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBACD,2EAA2E;gBAC3E,0EAA0E;gBAC1E,OAAO,CAAC,UAAU,CAChB,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CACrD,CAAC,IAAI,CAAC,GAAG,EAAE;oBACV,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;wBAAE,OAAO;oBAC5B,0EAA0E;oBAC1E,yDAAyD;oBACzD,+CAA+C;oBAC/C,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,2EAA2E;YAC3E,2DAA2D;YAC3D,IAAI,eAAe,EAAE,CAAC;gBACpB,cAAc,CAAC,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ type Callback = (...args: any[]) => any;
2
+ /**
3
+ * TODO: Long term, replace `useCallbackRef` with this hook.
4
+ */
5
+ export declare function useEventCallback<T extends Callback>(callback: T | undefined): T;
6
+ export {};
@@ -0,0 +1,53 @@
1
+ "use client";
2
+ /**
3
+ * Stable event callback: returns a function whose identity never changes but always
4
+ * invokes the latest `callback`. Avoids stale closures without re‑creating handlers.
5
+ *
6
+ * Why not `useCallback`? Its identity depends on a deps array:
7
+ * - omit deps -> stale; include deps -> new function each render.
8
+ * - This hook decouples identity from freshness.
9
+ *
10
+ * How it works: a single stable "trampoline" function delegates to a mutable ref. The current
11
+ * `callback` is promoted from `next` in an insertion/layout phase effect so abandoned concurrent
12
+ * renders cannot leak outdated handlers.
13
+ *
14
+ * Guarantees: stable identity; latest logic executed; no calls from uncommitted renders; dev
15
+ * error if invoked during render; safe when `callback` is undefined (no-op).
16
+ */
17
+ import React, { useLayoutEffect } from "react";
18
+ import { useRefWithInit } from "./useRefWithInit.js";
19
+ /* https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 */
20
+ const useInsertionEffect = React[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0, -3)];
21
+ const useSafeInsertionEffect =
22
+ // React 17 doesn't have useInsertionEffect.
23
+ useInsertionEffect &&
24
+ // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
25
+ useInsertionEffect !== useLayoutEffect
26
+ ? useInsertionEffect
27
+ : (fn) => fn();
28
+ /**
29
+ * TODO: Long term, replace `useCallbackRef` with this hook.
30
+ */
31
+ export function useEventCallback(callback) {
32
+ const stable = useRefWithInit(createStableCallback).current;
33
+ stable.next = callback;
34
+ useSafeInsertionEffect(stable.effect);
35
+ return stable.trampoline;
36
+ }
37
+ function createStableCallback() {
38
+ const stable = {
39
+ next: undefined,
40
+ callback: assertNotCalled,
41
+ trampoline: (...args) => { var _a; return (_a = stable.callback) === null || _a === void 0 ? void 0 : _a.call(stable, ...args); },
42
+ effect: () => {
43
+ stable.callback = stable.next;
44
+ },
45
+ };
46
+ return stable;
47
+ }
48
+ function assertNotCalled() {
49
+ if (process.env.NODE_ENV !== "production") {
50
+ throw new Error("Aksel: Cannot call an event handler while rendering.");
51
+ }
52
+ }
53
+ //# sourceMappingURL=useEventCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventCallback.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useEventCallback.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,6EAA6E;AAC7E,MAAM,kBAAkB,GAAI,KAAa,CACvC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7D,CAAC;AAEF,MAAM,sBAAsB;AAC1B,4CAA4C;AAC5C,kBAAkB;IAClB,8EAA8E;IAC9E,kBAAkB,KAAK,eAAe;IACpC,CAAC,CAAC,kBAAkB;IACpB,CAAC,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAaxB;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAuB;IAEvB,MAAM,MAAM,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC,OAAoB,CAAC;IACzE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,MAAM,GAAqB;QAC/B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,UAAU,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,QAAQ,uDAAG,GAAG,IAAI,CAAC,CAAA,EAAA;QAC1D,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function useLatestRef<T>(value: T): {
2
+ current: T;
3
+ next: T;
4
+ effect: () => void;
5
+ };
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { useClientLayoutEffect } from "../../../util/index.js";
3
+ import { useRefWithInit } from "./useRefWithInit.js";
4
+ export function useLatestRef(value) {
5
+ const latest = useRefWithInit(createLatestRef, value).current;
6
+ latest.next = value;
7
+ useClientLayoutEffect(latest.effect);
8
+ return latest;
9
+ }
10
+ function createLatestRef(value) {
11
+ const latest = {
12
+ current: value,
13
+ next: value,
14
+ effect: () => {
15
+ latest.current = latest.next;
16
+ },
17
+ };
18
+ return latest;
19
+ }
20
+ //# sourceMappingURL=useLatestRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLatestRef.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useLatestRef.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,YAAY,CAAI,KAAQ;IACtC,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,OAAQ,CAAC;IAE/D,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IAEpB,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAI,KAAQ;IAClC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ interface useOpenChangeAnimationCompleteParameters {
3
+ /**
4
+ * Enable / disable the effect. Disabled => no animation tracking / callback.
5
+ * @default true
6
+ */
7
+ enabled?: boolean;
8
+ /**
9
+ * Current open state (e.g. popover open). When this flips we wait for any
10
+ * associated CSS/Web animations on `ref` to finish before firing `onComplete`.
11
+ */
12
+ open?: boolean;
13
+ /**
14
+ * Element whose animations/transition we observe. Should be stable while the
15
+ * open/close animation runs (typically the root animated node).
16
+ */
17
+ ref?: React.RefObject<HTMLElement | null>;
18
+ /**
19
+ * Called exactly once per open-change cycle after animations finish OR
20
+ * immediately if animations are disabled / unsupported.
21
+ */
22
+ onComplete: () => void;
23
+ }
24
+ /**
25
+ * Waits for the element's current Web Animations / CSS transitions to finish after an
26
+ * `open` state change, then invokes `onComplete`. Guards against race conditions by
27
+ * comparing the `open` value captured at scheduling time with the latest `open` via ref;
28
+ * if they differ (state flipped again mid‑animation) the callback is skipped.
29
+ */
30
+ export declare function useOpenChangeAnimationComplete(parameters: useOpenChangeAnimationCompleteParameters): void;
31
+ export {};
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { useEffect } from "react";
3
+ import { useAnimationsFinished } from "./useAnimationsFinished.js";
4
+ import { useEventCallback } from "./useEventCallback.js";
5
+ import { useLatestRef } from "./useLatestRef.js";
6
+ /**
7
+ * Waits for the element's current Web Animations / CSS transitions to finish after an
8
+ * `open` state change, then invokes `onComplete`. Guards against race conditions by
9
+ * comparing the `open` value captured at scheduling time with the latest `open` via ref;
10
+ * if they differ (state flipped again mid‑animation) the callback is skipped.
11
+ */
12
+ export function useOpenChangeAnimationComplete(parameters) {
13
+ const { enabled = true, open, ref = null, onComplete: onCompleteParam, } = parameters;
14
+ const openRef = useLatestRef(open);
15
+ const onComplete = useEventCallback(onCompleteParam);
16
+ const runOnceAnimationsFinish = useAnimationsFinished(ref, open);
17
+ useEffect(() => {
18
+ if (!enabled) {
19
+ return;
20
+ }
21
+ /*
22
+ * Schedule completion once the *current* set of animations settle. If during
23
+ * that wait `open` toggles again, skip to avoid firing for an outdated cycle.
24
+ */
25
+ runOnceAnimationsFinish(() => {
26
+ if (open === openRef.current) {
27
+ onComplete();
28
+ }
29
+ });
30
+ }, [enabled, open, onComplete, runOnceAnimationsFinish, openRef]);
31
+ }
32
+ //# sourceMappingURL=useOpenChangeAnimationComplete.js.map