@ariakit/core
Version:
Ariakit core
44 lines (42 loc) • 1.23 kB
JavaScript
"use client";
import {
createCompositeStore
} from "../__chunks/2CHYBBFH.js";
import "../__chunks/7PRQYBBV.js";
import "../__chunks/EO4GVUA4.js";
import "../__chunks/DTR5TSDJ.js";
import {
createStore
} from "../__chunks/BCALMBPZ.js";
import {
defaultValue
} from "../__chunks/PBFD2E7P.js";
import {
__objRest,
__spreadProps,
__spreadValues
} from "../__chunks/3YLGPPWQ.js";
// src/radio/radio-store.ts
function createRadioStore(_a = {}) {
var props = __objRest(_a, []);
var _a2;
const syncState = (_a2 = props.store) == null ? void 0 : _a2.getState();
const composite = createCompositeStore(__spreadProps(__spreadValues({}, props), {
focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, true)
}));
const initialState = __spreadProps(__spreadValues({}, composite.getState()), {
value: defaultValue(
props.value,
syncState == null ? void 0 : syncState.value,
props.defaultValue,
null
)
});
const radio = createStore(initialState, composite, props.store);
return __spreadProps(__spreadValues(__spreadValues({}, composite), radio), {
setValue: (value) => radio.setState("value", value)
});
}
export {
createRadioStore
};