@humain/ui 2.4.2 → 2.4.4
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.
- package/dist/index194.js +6 -8
- package/dist/index194.js.map +1 -1
- package/dist/index225.js +1 -1
- package/dist/index225.js.map +1 -1
- package/dist/index24.js +1 -1
- package/dist/index24.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/wc/AIClarificationCard.js +1 -1
- package/dist/wc/AIContainer.js +1 -1
- package/dist/wc/AIForm.js +17 -17
- package/dist/wc/AIInput.js +1 -1
- package/dist/wc/AIMermaidDiagram.js +1 -1
- package/dist/wc/AIMessage.js +1 -1
- package/dist/wc/AIScrollButton.js +4 -4
- package/dist/wc/AIToolCall.js +5 -5
- package/dist/wc/AppSidebar.constants.js +1 -1
- package/dist/wc/AvatarFallback.js +5 -5
- package/dist/wc/CheckboxIndicator.js +7 -7
- package/dist/wc/CollapsiblePanel.js +1 -1
- package/dist/wc/DialogTrigger.js +9 -9
- package/dist/wc/DropdownMenu.js +16 -16
- package/dist/wc/MenuSubmenuTrigger.js +31 -31
- package/dist/wc/PopoverDescription.js +30 -30
- package/dist/wc/PrehydrationScript.js +1 -1
- package/dist/wc/Select.js +18 -18
- package/dist/wc/SelectSeparator.js +72 -72
- package/dist/wc/SelectSeparator.js.map +1 -1
- package/dist/wc/Tabs.js +18 -18
- package/dist/wc/TooltipProvider.js +9 -9
- package/dist/wc/chart.js +1 -1
- package/dist/wc/chunk-75Z2AOVW.js +39 -39
- package/dist/wc/chunk-OSK3NFVY.js +32 -32
- package/dist/wc/command.js +4 -4
- package/dist/wc/form-field.js +1 -1
- package/dist/wc/form-fieldset.js +5 -5
- package/dist/wc/hf-accordion-card.js +4 -4
- package/dist/wc/hf-accordion.js +6 -6
- package/dist/wc/hf-ai-feedback-bar.js +5 -5
- package/dist/wc/hf-ai-reasoning-block.js +6 -6
- package/dist/wc/hf-ai-system-message.js +1 -1
- package/dist/wc/hf-ai-tool-run.js +1 -1
- package/dist/wc/hf-app-sidebar.js +1 -1
- package/dist/wc/hf-app-sidebar.js.map +1 -1
- package/dist/wc/hf-area-chart.js +15 -15
- package/dist/wc/hf-autocomplete.js +36 -36
- package/dist/wc/hf-bar-chart.js +4 -4
- package/dist/wc/hf-calendar.js +4 -4
- package/dist/wc/hf-carousel.js +1 -1
- package/dist/wc/hf-context-menu.js +8 -8
- package/dist/wc/hf-donut-chart.js +10 -10
- package/dist/wc/hf-empty-state.js +87 -88
- package/dist/wc/hf-empty-state.js.map +1 -1
- package/dist/wc/hf-history.js +4 -4
- package/dist/wc/hf-horizontal-bar-chart.js +7 -7
- package/dist/wc/hf-hover-card.js +6 -6
- package/dist/wc/hf-line-chart.js +4 -4
- package/dist/wc/hf-metric-card.js +5 -5
- package/dist/wc/hf-metric-item.js +8 -8
- package/dist/wc/hf-metric-item.js.map +1 -1
- package/dist/wc/hf-nav-account-menu.js +4 -4
- package/dist/wc/hf-notification-panel.js +2 -2
- package/dist/wc/hf-pie-chart.js +17 -17
- package/dist/wc/hf-radar-chart.js +16 -16
- package/dist/wc/hf-section-header.js +6 -6
- package/dist/wc/hf-sheet.js +1 -1
- package/dist/wc/hf-sparkline-chart.js +5 -5
- package/dist/wc/hf-steps.js +6 -6
- package/dist/wc/journeyDiagram-3NMN7TZE.js +10 -10
- package/dist/wc/pieDiagram-E7YTZNPT.js +16 -16
- package/dist/wc/popupStateMapping.js +53 -53
- package/dist/wc/popupStateMapping.js.map +1 -1
- package/dist/wc/selection-group.js +1 -1
- package/dist/wc/selection-group.js.map +1 -1
- package/dist/wc/{useOpenChangeComplete.js → stateAttributesMapping.js} +21 -21
- package/dist/wc/stateAttributesMapping.js.map +1 -0
- package/dist/wc/stateDiagram-D77RDMKH.js +3 -3
- package/dist/wc/timeline-definition-24CTP7MA.js +19 -19
- package/dist/wc/useCollapsiblePanel.js +3 -3
- package/dist/wc/usePopupHandleStore.js +4 -4
- package/dist/wc/useScrollLock.js +1 -1
- package/dist/wc/vendor/recharts.js +525 -524
- package/dist/wc/vendor/recharts.js.map +1 -1
- package/dist/wc/xychartDiagram-S5SC5T6Z.js +6 -6
- package/dist/wc-react/AIClarificationCard.js +1 -1
- package/dist/wc-react/AIContainer.js +1 -1
- package/dist/wc-react/AIForm.js +17 -17
- package/dist/wc-react/AIInput.js +1 -1
- package/dist/wc-react/AIMermaidDiagram.js +1 -1
- package/dist/wc-react/AIMessage.js +1 -1
- package/dist/wc-react/AIScrollButton.js +4 -4
- package/dist/wc-react/AIToolCall.js +5 -5
- package/dist/wc-react/AppSidebar.constants.js +1 -1
- package/dist/wc-react/AvatarFallback.js +5 -5
- package/dist/wc-react/CheckboxIndicator.js +7 -7
- package/dist/wc-react/CollapsiblePanel.js +1 -1
- package/dist/wc-react/DialogTrigger.js +9 -9
- package/dist/wc-react/DropdownMenu.js +16 -16
- package/dist/wc-react/FloatingPortalLite.js +3 -3
- package/dist/wc-react/MenuSubmenuTrigger.js +31 -31
- package/dist/wc-react/PopoverDescription.js +31 -31
- package/dist/wc-react/PrehydrationScript.js +1 -1
- package/dist/wc-react/Select.js +18 -18
- package/dist/wc-react/SelectSeparator.js +71 -70
- package/dist/wc-react/SelectSeparator.js.map +1 -1
- package/dist/wc-react/Tabs.js +18 -18
- package/dist/wc-react/TooltipProvider.js +9 -9
- package/dist/wc-react/chart.js +1 -1
- package/dist/wc-react/chunk-75Z2AOVW.js +39 -39
- package/dist/wc-react/chunk-OSK3NFVY.js +32 -32
- package/dist/wc-react/command.js +4 -4
- package/dist/wc-react/form-field.js +1 -1
- package/dist/wc-react/form-fieldset.js +77 -77
- package/dist/wc-react/hf-accordion-card.js +4 -4
- package/dist/wc-react/hf-accordion.js +6 -6
- package/dist/wc-react/hf-ai-feedback-bar.js +5 -5
- package/dist/wc-react/hf-ai-reasoning-block.js +6 -6
- package/dist/wc-react/hf-ai-system-message.js +1 -1
- package/dist/wc-react/hf-ai-tool-run.js +1 -1
- package/dist/wc-react/hf-app-sidebar.js +1 -1
- package/dist/wc-react/hf-app-sidebar.js.map +1 -1
- package/dist/wc-react/hf-autocomplete.js +37 -37
- package/dist/wc-react/hf-calendar.js +4 -4
- package/dist/wc-react/hf-carousel.js +1 -1
- package/dist/wc-react/hf-context-menu.js +8 -8
- package/dist/wc-react/hf-data-table.js +1 -1
- package/dist/wc-react/hf-empty-state.js +87 -88
- package/dist/wc-react/hf-empty-state.js.map +1 -1
- package/dist/wc-react/hf-history.js +4 -4
- package/dist/wc-react/hf-hover-card.js +6 -6
- package/dist/wc-react/hf-metric-item.js +6 -6
- package/dist/wc-react/hf-metric-item.js.map +1 -1
- package/dist/wc-react/hf-nav-account-menu.js +4 -4
- package/dist/wc-react/hf-notification-panel.js +2 -2
- package/dist/wc-react/hf-section-header.js +6 -6
- package/dist/wc-react/hf-sheet.js +1 -1
- package/dist/wc-react/hf-steps.js +5 -5
- package/dist/wc-react/journeyDiagram-3NMN7TZE.js +10 -10
- package/dist/wc-react/pieDiagram-E7YTZNPT.js +16 -16
- package/dist/wc-react/popupStateMapping.js +54 -54
- package/dist/wc-react/popupStateMapping.js.map +1 -1
- package/dist/wc-react/selection-group.js +1 -1
- package/dist/wc-react/selection-group.js.map +1 -1
- package/dist/wc-react/{useOpenChangeComplete.js → stateAttributesMapping.js} +19 -19
- package/dist/wc-react/stateAttributesMapping.js.map +1 -0
- package/dist/wc-react/stateDiagram-D77RDMKH.js +3 -3
- package/dist/wc-react/timeline-definition-24CTP7MA.js +19 -19
- package/dist/wc-react/useCollapsiblePanel.js +3 -3
- package/dist/wc-react/usePopupHandleStore.js +3 -3
- package/dist/wc-react/useScrollLock.js +1 -1
- package/dist/wc-react/vendor/recharts.js +525 -524
- package/dist/wc-react/vendor/recharts.js.map +1 -1
- package/dist/wc-react/xychartDiagram-S5SC5T6Z.js +6 -6
- package/package.json +1 -1
- package/skills/humain-ui/SKILL.md +1 -1
- package/skills/humain-ui-wc/SKILL.md +1 -1
- package/skills/humain-ui-wc.skill +0 -0
- package/skills/humain-ui.skill +0 -0
- package/dist/wc/useOpenChangeComplete.js.map +0 -1
- package/dist/wc-react/useOpenChangeComplete.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Q as Pt, Y as vt, wt as Et } from "./vendor/recharts.js";
|
|
2
2
|
import { n as a } from "./chunk-Y2CYZVJY.js";
|
|
3
3
|
import { t as zt } from "./chunk-X3CZISLH.js";
|
|
4
4
|
import { D as oi, H as hi, K as ri, U as li, a as ci, b as pt, c as gi, f as ui, v as xi, w as Bt, y as di, z as fi } from "./chunk-DU6HZSFF.js";
|
|
@@ -1542,13 +1542,13 @@ var mt = class {
|
|
|
1542
1542
|
a(this, "BandAxis");
|
|
1543
1543
|
}
|
|
1544
1544
|
constructor(t, i, e, s, n) {
|
|
1545
|
-
super(t, s, n, i), this.categories = e, this.scale =
|
|
1545
|
+
super(t, s, n, i), this.categories = e, this.scale = Pt().domain(this.categories).range(this.getRange());
|
|
1546
1546
|
}
|
|
1547
1547
|
setRange(t) {
|
|
1548
1548
|
super.setRange(t);
|
|
1549
1549
|
}
|
|
1550
1550
|
recalculateScale() {
|
|
1551
|
-
this.scale =
|
|
1551
|
+
this.scale = Pt().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(0.5), zt.trace("BandAxis axis final categories, range: ", this.categories, this.getRange());
|
|
1552
1552
|
}
|
|
1553
1553
|
getTickValues() {
|
|
1554
1554
|
return this.categories;
|
|
@@ -1561,14 +1561,14 @@ var mt = class {
|
|
|
1561
1561
|
a(this, "LinearAxis");
|
|
1562
1562
|
}
|
|
1563
1563
|
constructor(t, i, e, s, n) {
|
|
1564
|
-
super(t, s, n, i), this.domain = e, this.scale =
|
|
1564
|
+
super(t, s, n, i), this.domain = e, this.scale = vt().domain(this.domain).range(this.getRange());
|
|
1565
1565
|
}
|
|
1566
1566
|
getTickValues() {
|
|
1567
1567
|
return this.scale.ticks();
|
|
1568
1568
|
}
|
|
1569
1569
|
recalculateScale() {
|
|
1570
1570
|
const t = [...this.domain];
|
|
1571
|
-
this.axisPosition === "left" && t.reverse(), this.scale =
|
|
1571
|
+
this.axisPosition === "left" && t.reverse(), this.scale = vt().domain(t).range(this.getRange());
|
|
1572
1572
|
}
|
|
1573
1573
|
getScaleValue(t) {
|
|
1574
1574
|
return this.scale(t);
|
|
@@ -1722,7 +1722,7 @@ var ki = class {
|
|
|
1722
1722
|
getDrawableElement() {
|
|
1723
1723
|
const t = this.plotData.data.map((s) => [this.xAxis.getScaleValue(s[0]), this.yAxis.getScaleValue(s[1])]);
|
|
1724
1724
|
let i;
|
|
1725
|
-
if (this.orientation === "horizontal" ? i =
|
|
1725
|
+
if (this.orientation === "horizontal" ? i = Et().y((s) => s[0]).x((s) => s[1])(t) : i = Et().x((s) => s[0]).y((s) => s[1])(t), !i) return [];
|
|
1726
1726
|
const e = [{
|
|
1727
1727
|
groupTexts: ["plot", `line-plot-${this.plotIndex}`],
|
|
1728
1728
|
type: "path",
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@ name: humain-ui
|
|
|
3
3
|
description: Use when building, migrating, auditing, or bootstrapping React UI with @humain/ui, including pages, dashboards, app shells, forms, dialogs, data tables, charts, AI chat workspaces, or Figma-to-Humain mapping.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Humain Foundation UI (v2.4.
|
|
6
|
+
# Humain Foundation UI (v2.4.4)
|
|
7
7
|
|
|
8
8
|
Build product UI with `@humain/ui`, a React 18/19 component library with Tailwind v4, dark mode, design tokens, Web Component projections, and AI-facing references.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: humain-ui-wc
|
|
|
3
3
|
description: Use when building browser-native prototypes, iframe artifacts, static HTML, custom-element demos, framework-neutral integrations, or any HUMAIN UI that must use hf-* Web Components instead of React JSX.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Humain Foundation UI Web Components (v2.4.
|
|
6
|
+
# Humain Foundation UI Web Components (v2.4.4)
|
|
7
7
|
|
|
8
8
|
**Identity** - You build HUMAIN interfaces with `hf-*` custom elements. You keep the same product taste, spacing discipline, and component intent as the React `humain-ui` skill, but you only use Web Component APIs that actually exist in the manifest.
|
|
9
9
|
|
|
Binary file
|
package/skills/humain-ui.skill
CHANGED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useOpenChangeComplete.js","names":[],"sources":["../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/internals/useTransitionStatus.mjs","../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/internals/stateAttributesMapping.mjs","../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/utils/resolveRef.mjs","../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs","../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { AnimationFrame } from '@base-ui/utils/useAnimationFrame';\n/**\n * Provides a status string for CSS animations.\n * @param open - a boolean that determines if the element is open.\n * @param enableIdleState - a boolean that enables the `'idle'` state between `'starting'` and `'ending'`\n */\nexport function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {\n const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);\n const [mounted, setMounted] = React.useState(open);\n if (open && !mounted) {\n setMounted(true);\n setTransitionStatus('starting');\n }\n if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {\n setTransitionStatus('ending');\n }\n if (!open && !mounted && transitionStatus === 'ending') {\n setTransitionStatus(undefined);\n }\n useIsoLayoutEffect(() => {\n if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('ending');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }\n return undefined;\n }, [open, mounted, transitionStatus, deferEndingState]);\n useIsoLayoutEffect(() => {\n if (!open || enableIdleState) {\n return undefined;\n }\n const frame = AnimationFrame.request(() => {\n // Avoid `flushSync` here due to Firefox.\n // See https://github.com/mui/base-ui/pull/3424\n setTransitionStatus(undefined);\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open]);\n useIsoLayoutEffect(() => {\n if (!open || !enableIdleState) {\n return undefined;\n }\n if (open && mounted && transitionStatus !== 'idle') {\n setTransitionStatus('starting');\n }\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('idle');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open, mounted, transitionStatus]);\n return {\n mounted,\n setMounted,\n transitionStatus\n };\n}","export let TransitionStatusDataAttributes = /*#__PURE__*/function (TransitionStatusDataAttributes) {\n /**\n * Present when the component begins animating in.\n */\n TransitionStatusDataAttributes[\"startingStyle\"] = \"data-starting-style\";\n /**\n * Present when the component is animating out.\n */\n TransitionStatusDataAttributes[\"endingStyle\"] = \"data-ending-style\";\n return TransitionStatusDataAttributes;\n}({});\nconst STARTING_HOOK = {\n 'data-starting-style': ''\n};\nconst ENDING_HOOK = {\n 'data-ending-style': ''\n};\nexport const transitionStatusMapping = {\n transitionStatus(value) {\n if (value === 'starting') {\n return STARTING_HOOK;\n }\n if (value === 'ending') {\n return ENDING_HOOK;\n }\n return null;\n }\n};","/**\n * If the provided argument is a ref object, returns its `current` value.\n * Otherwise, returns the argument itself.\n */\nexport function resolveRef(maybeRef) {\n if (maybeRef == null) {\n return maybeRef;\n }\n return 'current' in maybeRef ? maybeRef.current : maybeRef;\n}","'use client';\n\nimport * as ReactDOM from 'react-dom';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { resolveRef } from \"../utils/resolveRef.mjs\";\n\n/**\n * Executes a function once all animations have finished on the provided element.\n * If an animation is canceled, waits for any replacement animations before executing.\n * @param elementOrRef - The element to watch for animations.\n * @param waitForStartingStyleRemoved - Whether to wait for [data-starting-style] to be removed before checking for animations.\n * @returns A function that takes a callback to execute once all animations have finished, and an optional AbortSignal to abort the callback\n */\nexport function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false) {\n const frame = useAnimationFrame();\n return useStableCallback((fnToExecute,\n /**\n * An optional [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that\n * can be used to abort `fnToExecute` before all the animations have finished.\n * @default null\n */\n signal = null) => {\n frame.cancel();\n const element = resolveRef(elementOrRef);\n if (element == null) {\n return;\n }\n const resolvedElement = element;\n const done = () => {\n // Synchronously flush the unmounting of the component so that the browser doesn't\n // paint: https://github.com/mui/base-ui/issues/979\n ReactDOM.flushSync(fnToExecute);\n };\n if (typeof resolvedElement.getAnimations !== 'function' || globalThis.BASE_UI_ANIMATIONS_DISABLED) {\n fnToExecute();\n return;\n }\n function exec() {\n Promise.all(resolvedElement.getAnimations().map(animation => animation.finished)).then(() => {\n if (!signal?.aborted) {\n done();\n }\n }, () => {\n if (signal?.aborted) {\n return;\n }\n const currentAnimations = resolvedElement.getAnimations();\n if (currentAnimations.some(animation => animation.pending || animation.playState !== 'finished')) {\n // Sometimes animations can be aborted because a property they depend on changes while the animation plays.\n // In such cases, we need to re-check if any new animations have started.\n exec();\n return;\n }\n done();\n });\n }\n if (waitForStartingStyleRemoved) {\n const startingStyleAttribute = 'data-starting-style';\n\n // If `[data-starting-style]` isn't present, fall back to waiting one more frame\n // to give \"open\" animations a chance to be registered.\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n frame.request(exec);\n return;\n }\n\n // Wait for `[data-starting-style]` to have been removed.\n const attributeObserver = new MutationObserver(() => {\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n attributeObserver.disconnect();\n exec();\n }\n });\n attributeObserver.observe(resolvedElement, {\n attributes: true,\n attributeFilter: [startingStyleAttribute]\n });\n signal?.addEventListener('abort', () => attributeObserver.disconnect(), {\n once: true\n });\n return;\n }\n frame.request(exec);\n });\n}","'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useAnimationsFinished } from \"./useAnimationsFinished.mjs\";\n\n/**\n * Calls the provided function when the CSS open/close animation or transition completes.\n */\nexport function useOpenChangeComplete(parameters) {\n const {\n enabled = true,\n open,\n ref,\n onComplete: onCompleteParam\n } = parameters;\n const onComplete = useStableCallback(onCompleteParam);\n const runOnceAnimationsFinish = useAnimationsFinished(ref, open);\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n const abortController = new AbortController();\n runOnceAnimationsFinish(onComplete, abortController.signal);\n return () => {\n abortController.abort();\n };\n }, [enabled, open, onComplete, runOnceAnimationsFinish]);\n}"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useOpenChangeComplete.js","names":["React"],"sources":["../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/internals/useTransitionStatus.mjs","../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/internals/stateAttributesMapping.mjs","../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/utils/resolveRef.mjs","../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs","../../../../node_modules/.bun/@base-ui+react@1.7.0+8a291ac5721f2b4f/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { AnimationFrame } from '@base-ui/utils/useAnimationFrame';\n/**\n * Provides a status string for CSS animations.\n * @param open - a boolean that determines if the element is open.\n * @param enableIdleState - a boolean that enables the `'idle'` state between `'starting'` and `'ending'`\n */\nexport function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {\n const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);\n const [mounted, setMounted] = React.useState(open);\n if (open && !mounted) {\n setMounted(true);\n setTransitionStatus('starting');\n }\n if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {\n setTransitionStatus('ending');\n }\n if (!open && !mounted && transitionStatus === 'ending') {\n setTransitionStatus(undefined);\n }\n useIsoLayoutEffect(() => {\n if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('ending');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }\n return undefined;\n }, [open, mounted, transitionStatus, deferEndingState]);\n useIsoLayoutEffect(() => {\n if (!open || enableIdleState) {\n return undefined;\n }\n const frame = AnimationFrame.request(() => {\n // Avoid `flushSync` here due to Firefox.\n // See https://github.com/mui/base-ui/pull/3424\n setTransitionStatus(undefined);\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open]);\n useIsoLayoutEffect(() => {\n if (!open || !enableIdleState) {\n return undefined;\n }\n if (open && mounted && transitionStatus !== 'idle') {\n setTransitionStatus('starting');\n }\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('idle');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open, mounted, transitionStatus]);\n return {\n mounted,\n setMounted,\n transitionStatus\n };\n}","export let TransitionStatusDataAttributes = /*#__PURE__*/function (TransitionStatusDataAttributes) {\n /**\n * Present when the component begins animating in.\n */\n TransitionStatusDataAttributes[\"startingStyle\"] = \"data-starting-style\";\n /**\n * Present when the component is animating out.\n */\n TransitionStatusDataAttributes[\"endingStyle\"] = \"data-ending-style\";\n return TransitionStatusDataAttributes;\n}({});\nconst STARTING_HOOK = {\n 'data-starting-style': ''\n};\nconst ENDING_HOOK = {\n 'data-ending-style': ''\n};\nexport const transitionStatusMapping = {\n transitionStatus(value) {\n if (value === 'starting') {\n return STARTING_HOOK;\n }\n if (value === 'ending') {\n return ENDING_HOOK;\n }\n return null;\n }\n};","/**\n * If the provided argument is a ref object, returns its `current` value.\n * Otherwise, returns the argument itself.\n */\nexport function resolveRef(maybeRef) {\n if (maybeRef == null) {\n return maybeRef;\n }\n return 'current' in maybeRef ? maybeRef.current : maybeRef;\n}","'use client';\n\nimport * as ReactDOM from 'react-dom';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { resolveRef } from \"../utils/resolveRef.mjs\";\n\n/**\n * Executes a function once all animations have finished on the provided element.\n * If an animation is canceled, waits for any replacement animations before executing.\n * @param elementOrRef - The element to watch for animations.\n * @param waitForStartingStyleRemoved - Whether to wait for [data-starting-style] to be removed before checking for animations.\n * @returns A function that takes a callback to execute once all animations have finished, and an optional AbortSignal to abort the callback\n */\nexport function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false) {\n const frame = useAnimationFrame();\n return useStableCallback((fnToExecute,\n /**\n * An optional [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that\n * can be used to abort `fnToExecute` before all the animations have finished.\n * @default null\n */\n signal = null) => {\n frame.cancel();\n const element = resolveRef(elementOrRef);\n if (element == null) {\n return;\n }\n const resolvedElement = element;\n const done = () => {\n // Synchronously flush the unmounting of the component so that the browser doesn't\n // paint: https://github.com/mui/base-ui/issues/979\n ReactDOM.flushSync(fnToExecute);\n };\n if (typeof resolvedElement.getAnimations !== 'function' || globalThis.BASE_UI_ANIMATIONS_DISABLED) {\n fnToExecute();\n return;\n }\n function exec() {\n Promise.all(resolvedElement.getAnimations().map(animation => animation.finished)).then(() => {\n if (!signal?.aborted) {\n done();\n }\n }, () => {\n if (signal?.aborted) {\n return;\n }\n const currentAnimations = resolvedElement.getAnimations();\n if (currentAnimations.some(animation => animation.pending || animation.playState !== 'finished')) {\n // Sometimes animations can be aborted because a property they depend on changes while the animation plays.\n // In such cases, we need to re-check if any new animations have started.\n exec();\n return;\n }\n done();\n });\n }\n if (waitForStartingStyleRemoved) {\n const startingStyleAttribute = 'data-starting-style';\n\n // If `[data-starting-style]` isn't present, fall back to waiting one more frame\n // to give \"open\" animations a chance to be registered.\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n frame.request(exec);\n return;\n }\n\n // Wait for `[data-starting-style]` to have been removed.\n const attributeObserver = new MutationObserver(() => {\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n attributeObserver.disconnect();\n exec();\n }\n });\n attributeObserver.observe(resolvedElement, {\n attributes: true,\n attributeFilter: [startingStyleAttribute]\n });\n signal?.addEventListener('abort', () => attributeObserver.disconnect(), {\n once: true\n });\n return;\n }\n frame.request(exec);\n });\n}","'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useAnimationsFinished } from \"./useAnimationsFinished.mjs\";\n\n/**\n * Calls the provided function when the CSS open/close animation or transition completes.\n */\nexport function useOpenChangeComplete(parameters) {\n const {\n enabled = true,\n open,\n ref,\n onComplete: onCompleteParam\n } = parameters;\n const onComplete = useStableCallback(onCompleteParam);\n const runOnceAnimationsFinish = useAnimationsFinished(ref, open);\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n const abortController = new AbortController();\n runOnceAnimationsFinish(onComplete, abortController.signal);\n return () => {\n abortController.abort();\n };\n }, [enabled, open, onComplete, runOnceAnimationsFinish]);\n}"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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"}
|