UNPKG

@ark-ui/solid

Version:

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

166 lines (151 loc) 5.3 kB
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/pagination/use-pagination-context.ts var [PaginationProvider, usePaginationContext] = createContext({ hookName: "usePaginationContext", providerName: "<PaginationProvider />" }); // src/components/pagination/pagination-context.tsx var PaginationContext = (props) => props.children(usePaginationContext()); // src/components/pagination/pagination-ellipsis.tsx import { mergeProps } from "@zag-js/solid"; var PaginationEllipsis = (props) => { const [ellipsisProps, localProps] = createSplitProps()(props, ["index"]); const api = usePaginationContext(); const mergedProps = mergeProps(() => api().getEllipsisProps(ellipsisProps), localProps); return <ark.div {...mergedProps} />; }; // src/components/pagination/pagination-first-trigger.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; var PaginationFirstTrigger = (props) => { const api = usePaginationContext(); const mergedProps = mergeProps2(() => api().getFirstTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/pagination/pagination-item.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; var PaginationItem = (props) => { const [itemProps, localProps] = createSplitProps()(props, ["value", "type"]); const api = usePaginationContext(); const mergedProps = mergeProps3(() => api().getItemProps(itemProps), localProps); return <ark.button {...mergedProps} />; }; // src/components/pagination/pagination-last-trigger.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; var PaginationLastTrigger = (props) => { const api = usePaginationContext(); const mergedProps = mergeProps4(() => api().getLastTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/pagination/pagination-next-trigger.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; var PaginationNextTrigger = (props) => { const api = usePaginationContext(); const mergedProps = mergeProps5(() => api().getNextTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/pagination/pagination-prev-trigger.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; var PaginationPrevTrigger = (props) => { const api = usePaginationContext(); const mergedProps = mergeProps6(() => api().getPrevTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/pagination/pagination-root.tsx import { mergeProps as mergeProps7 } from "@zag-js/solid"; // src/components/pagination/use-pagination.ts import * as pagination from "@zag-js/pagination"; import { normalizeProps, useMachine } from "@zag-js/solid"; import { createMemo, createUniqueId } from "solid-js"; var usePagination = (props) => { const locale = useLocaleContext(); const environment = useEnvironmentContext(); const id = createUniqueId(); const machineProps = createMemo(() => ({ id, dir: locale().dir, getRootNode: environment().getRootNode, ...runIfFn(props) })); const service = useMachine(pagination.machine, machineProps); return createMemo(() => pagination.connect(service, normalizeProps)); }; // src/components/pagination/pagination-root.tsx var PaginationRoot = (props) => { const [usePaginationProps, localProps] = createSplitProps()(props, [ "boundaryCount", "count", "defaultPage", "defaultPageSize", "getPageUrl", "id", "ids", "onPageChange", "onPageSizeChange", "page", "pageSize", "siblingCount", "translations", "type" ]); const api = usePagination(usePaginationProps); const mergedProps = mergeProps7(() => api().getRootProps(), localProps); return <PaginationProvider value={api}> <ark.nav {...mergedProps} /> </PaginationProvider>; }; // src/components/pagination/pagination-root-provider.tsx import { mergeProps as mergeProps8 } from "@zag-js/solid"; var PaginationRootProvider = (props) => { const [{ value: pagination2 }, localProps] = createSplitProps()(props, ["value"]); const mergedProps = mergeProps8(() => pagination2().getRootProps(), localProps); return <PaginationProvider value={pagination2}> <ark.nav {...mergedProps} /> </PaginationProvider>; }; // src/components/pagination/pagination.ts var pagination_exports = {}; __export(pagination_exports, { Context: () => PaginationContext, Ellipsis: () => PaginationEllipsis, FirstTrigger: () => PaginationFirstTrigger, Item: () => PaginationItem, LastTrigger: () => PaginationLastTrigger, NextTrigger: () => PaginationNextTrigger, PrevTrigger: () => PaginationPrevTrigger, Root: () => PaginationRoot, RootProvider: () => PaginationRootProvider }); export { usePaginationContext, PaginationContext, PaginationEllipsis, PaginationFirstTrigger, PaginationItem, PaginationLastTrigger, PaginationNextTrigger, PaginationPrevTrigger, usePagination, PaginationRoot, PaginationRootProvider, pagination_exports };