UNPKG

@ark-ui/solid

Version:

A collection of unstyled, accessible UI components for Solid, utilizing state machines for seamless interaction.

195 lines (176 loc) 6.97 kB
import { parts } from "./D7R75XPX.jsx"; import { createSplitProps } from "./6WEDGJKQ.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { useEnvironmentContext } from "./CGW54HAQ.jsx"; import { useLocaleContext } from "./JFOWNFC7.jsx"; import { runIfFn } from "./KGOB2IMX.jsx"; import { createContext } from "./UZJJWJQM.jsx"; import { __export } from "./7IUG3E2V.jsx"; // src/components/segment-group/use-segment-group-context.ts var [SegmentGroupProvider, useSegmentGroupContext] = createContext({ hookName: "useSegmentGroupContext", providerName: "<SegmentGroupProvider />" }); // src/components/segment-group/segment-group-context.tsx var SegmentGroupContext = (props) => props.children(useSegmentGroupContext()); // src/components/segment-group/segment-group-indicator.tsx import { mergeProps } from "@zag-js/solid"; var SegmentGroupIndicator = (props) => { const segmentGroup2 = useSegmentGroupContext(); const mergedProps = mergeProps(() => segmentGroup2().getIndicatorProps(), parts.indicator.attrs, props); return <ark.div {...mergedProps} />; }; // src/components/segment-group/segment-group-item.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; import { createMemo } from "solid-js"; // src/components/segment-group/use-segment-group-item-context.ts var [SegmentGroupItemProvider, useSegmentGroupItemContext] = createContext({ hookName: "useSegmentGroupItemContext", providerName: "<SegmentGroupItemProvider />" }); // src/components/segment-group/use-segment-group-item-props-context.ts var [SegmentGroupItemPropsProvider, useSegmentGroupItemPropsContext] = createContext({ hookName: "useSegmentGroupItemPropsContext", providerName: "<SegmentGroupItemPropsProvider />" }); // src/components/segment-group/segment-group-item.tsx var SegmentGroupItem = (props) => { const [itemProps, localProps] = createSplitProps()(props, ["value", "disabled", "invalid"]); const segmentGroup2 = useSegmentGroupContext(); const mergedProps = mergeProps2(() => segmentGroup2().getItemProps(itemProps), parts.item.attrs, localProps); const itemState = createMemo(() => segmentGroup2().getItemState(itemProps)); return <SegmentGroupItemPropsProvider value={itemProps}> <SegmentGroupItemProvider value={itemState}> <ark.label {...mergedProps} /> </SegmentGroupItemProvider> </SegmentGroupItemPropsProvider>; }; // src/components/segment-group/segment-group-item-context.tsx var SegmentGroupItemContext = (props) => props.children(useSegmentGroupItemContext()); // src/components/segment-group/segment-group-item-control.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; var SegmentGroupItemControl = (props) => { const segmentGroup2 = useSegmentGroupContext(); const itemProps = useSegmentGroupItemPropsContext(); const mergedProps = mergeProps3(() => segmentGroup2().getItemControlProps(itemProps), parts.itemControl.attrs, props); return <ark.div {...mergedProps} />; }; // src/components/segment-group/segment-group-item-hidden-input.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; var SegmentGroupItemHiddenInput = (props) => { const segmentGroup2 = useSegmentGroupContext(); const itemProps = useSegmentGroupItemPropsContext(); const mergedProps = mergeProps4(() => segmentGroup2().getItemHiddenInputProps(itemProps), props); return <ark.input {...mergedProps} />; }; // src/components/segment-group/segment-group-item-text.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; var SegmentGroupItemText = (props) => { const segmentGroup2 = useSegmentGroupContext(); const itemProps = useSegmentGroupItemPropsContext(); const mergedProps = mergeProps5(() => segmentGroup2().getItemTextProps(itemProps), parts.itemText.attrs, props); return <ark.span {...mergedProps} />; }; // src/components/segment-group/segment-group-label.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; var SegmentGroupLabel = (props) => { const segmentGroup2 = useSegmentGroupContext(); const mergedProps = mergeProps6(() => segmentGroup2().getLabelProps(), parts.label.attrs, props); return <ark.label {...mergedProps} />; }; // src/components/segment-group/segment-group-root.tsx import { mergeProps as mergeProps7 } from "@zag-js/solid"; // src/components/segment-group/use-segment-group.ts import * as segmentGroup from "@zag-js/radio-group"; import { normalizeProps, useMachine } from "@zag-js/solid"; import { createMemo as createMemo2, createUniqueId } from "solid-js"; var useSegmentGroup = (props) => { const id = createUniqueId(); const locale = useLocaleContext(); const environment = useEnvironmentContext(); const machineProps = createMemo2(() => ({ id, dir: locale().dir, getRootNode: environment().getRootNode, ...runIfFn(props) })); const service = useMachine(segmentGroup.machine, machineProps); return createMemo2(() => segmentGroup.connect(service, normalizeProps)); }; // src/components/segment-group/segment-group-root.tsx var SegmentGroupRoot = (props) => { const [useSegmentGroupProps, localProps] = createSplitProps()(props, [ "defaultValue", "disabled", "form", "id", "ids", "invalid", "name", "onValueChange", "orientation", "readOnly", "required", "value" ]); const segmentGroup2 = useSegmentGroup(useSegmentGroupProps); const mergedProps = mergeProps7(() => segmentGroup2().getRootProps(), parts.root.attrs, localProps); return <SegmentGroupProvider value={segmentGroup2}> <ark.div {...mergedProps} /> </SegmentGroupProvider>; }; // src/components/segment-group/segment-group-root-provider.tsx import { mergeProps as mergeProps8 } from "@zag-js/solid"; var SegmentGroupRootProvider = (props) => { const [{ value: segmentGroup2 }, localProps] = createSplitProps()(props, ["value"]); const mergedProps = mergeProps8(() => segmentGroup2().getRootProps(), parts.root.attrs, localProps); return <SegmentGroupProvider value={segmentGroup2}> <ark.div {...mergedProps} /> </SegmentGroupProvider>; }; // src/components/segment-group/segment-group.ts var segment_group_exports = {}; __export(segment_group_exports, { Context: () => SegmentGroupContext, Indicator: () => SegmentGroupIndicator, Item: () => SegmentGroupItem, ItemContext: () => SegmentGroupItemContext, ItemControl: () => SegmentGroupItemControl, ItemHiddenInput: () => SegmentGroupItemHiddenInput, ItemText: () => SegmentGroupItemText, Label: () => SegmentGroupLabel, Root: () => SegmentGroupRoot, RootProvider: () => SegmentGroupRootProvider }); export { useSegmentGroupContext, SegmentGroupContext, SegmentGroupIndicator, useSegmentGroupItemContext, SegmentGroupItem, SegmentGroupItemContext, SegmentGroupItemControl, SegmentGroupItemHiddenInput, SegmentGroupItemText, SegmentGroupLabel, useSegmentGroup, SegmentGroupRoot, SegmentGroupRootProvider, segment_group_exports };