UNPKG

@ark-ui/solid

Version:

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

176 lines (160 loc) 5.59 kB
import { useFieldContext } from "./7HLG62OR.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/rating-group/use-rating-group-context.ts var [RatingGroupProvider, useRatingGroupContext] = createContext({ hookName: "useRatingGroupContext", providerName: "<RatingGroupProvider />" }); // src/components/rating-group/rating-group-context.tsx var RatingGroupContext = (props) => props.children(useRatingGroupContext()); // src/components/rating-group/rating-group-control.tsx import { mergeProps } from "@zag-js/solid"; var RatingGroupControl = (props) => { const ratingGroup2 = useRatingGroupContext(); const mergedProps = mergeProps(() => ratingGroup2().getControlProps(), props); return <ark.div {...mergedProps} />; }; // src/components/rating-group/rating-group-hidden-input.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; var RatingGroupHiddenInput = (props) => { const ratingGroup2 = useRatingGroupContext(); const mergedProps = mergeProps2(() => ratingGroup2().getHiddenInputProps(), props); const field = useFieldContext(); return <ark.input aria-describedby={field?.().ariaDescribedby} {...mergedProps} />; }; // src/components/rating-group/rating-group-item.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; import { createMemo } from "solid-js"; // src/components/rating-group/use-rating-group-item-context.ts var [RatingGroupItemProvider, useRatingGroupItemContext] = createContext({ hookName: "useRatingGroupItemContext", providerName: "<RatingGroupItemProvider />" }); // src/components/rating-group/rating-group-item.tsx var RatingGroupItem = (props) => { const [itemProps, localProps] = createSplitProps()(props, ["index"]); const api = useRatingGroupContext(); const mergedProps = mergeProps3(() => api().getItemProps(itemProps), localProps); const itemState = createMemo(() => api().getItemState(itemProps)); return <RatingGroupItemProvider value={itemState}> <ark.span {...mergedProps} /> </RatingGroupItemProvider>; }; // src/components/rating-group/rating-group-item-context.tsx var RatingGroupItemContext = (props) => props.children(useRatingGroupItemContext()); // src/components/rating-group/rating-group-label.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; var RatingGroupLabel = (props) => { const api = useRatingGroupContext(); const mergedProps = mergeProps4(() => api().getLabelProps(), props); return <ark.label {...mergedProps} />; }; // src/components/rating-group/rating-group-root.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; // src/components/rating-group/use-rating-group.ts import * as ratingGroup from "@zag-js/rating-group"; import { normalizeProps, useMachine } from "@zag-js/solid"; import { createMemo as createMemo2, createUniqueId } from "solid-js"; var useRatingGroup = (props) => { const id = createUniqueId(); const locale = useLocaleContext(); const environment = useEnvironmentContext(); const field = useFieldContext(); const machineProps = createMemo2(() => ({ id, ids: { label: field?.().ids.label, hiddenInput: field?.().ids.control }, disabled: field?.().disabled, readOnly: field?.().readOnly, required: field?.().required, dir: locale().dir, getRootNode: environment().getRootNode, ...runIfFn(props) })); const service = useMachine(ratingGroup.machine, machineProps); return createMemo2(() => ratingGroup.connect(service, normalizeProps)); }; // src/components/rating-group/rating-group-root.tsx var RatingGroupRoot = (props) => { const [useRatingProps, localProps] = createSplitProps()(props, [ "allowHalf", "autoFocus", "count", "defaultValue", "disabled", "form", "id", "ids", "name", "onHoverChange", "onValueChange", "readOnly", "required", "translations", "value" ]); const api = useRatingGroup(useRatingProps); const mergedProps = mergeProps5(() => api().getRootProps(), localProps); return <RatingGroupProvider value={api}> <ark.div {...mergedProps} /> </RatingGroupProvider>; }; // src/components/rating-group/rating-group-root-provider.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; var RatingGroupRootProvider = (props) => { const [{ value: ratingGroup2 }, localProps] = createSplitProps()(props, ["value"]); const mergedProps = mergeProps6(() => ratingGroup2().getRootProps(), localProps); return <RatingGroupProvider value={ratingGroup2}> <ark.div {...mergedProps} /> </RatingGroupProvider>; }; // src/components/rating-group/rating-group.ts var rating_group_exports = {}; __export(rating_group_exports, { Context: () => RatingGroupContext, Control: () => RatingGroupControl, HiddenInput: () => RatingGroupHiddenInput, Item: () => RatingGroupItem, ItemContext: () => RatingGroupItemContext, Label: () => RatingGroupLabel, Root: () => RatingGroupRoot, RootProvider: () => RatingGroupRootProvider }); export { useRatingGroupContext, RatingGroupContext, RatingGroupControl, RatingGroupHiddenInput, useRatingGroupItemContext, RatingGroupItem, RatingGroupItemContext, RatingGroupLabel, useRatingGroup, RatingGroupRoot, RatingGroupRootProvider, rating_group_exports };