UNPKG

@ark-ui/solid

Version:

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

267 lines (244 loc) 8.97 kB
import { PresenceProvider, splitPresenceProps, usePresence, usePresenceContext } from "./IG7INNI2.jsx"; import { composeRefs } from "./PT2CJE3O.jsx"; import { createSplitProps } from "./6WEDGJKQ.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { useLocaleContext } from "./YUC6JE7K.jsx"; import { useEnvironmentContext } from "./E2L62MKC.jsx"; import { createContext } from "./TVCIHLER.jsx"; import { runIfFn } from "./KGOB2IMX.jsx"; import { __export } from "./7IUG3E2V.jsx"; // src/components/time-picker/index.tsx import { parseTime } from "@internationalized/date"; // src/components/time-picker/time-picker-cell.tsx import { mergeProps } from "@zag-js/solid"; // src/components/time-picker/use-time-picker-column-props-context.ts var [TimePickerColumnPropsProvider, useTimePickerColumnPropsContext] = createContext({ hookName: "useTimePickerColumnPropsContext", providerName: "<TimePickerColumnPropsProvider />" }); // src/components/time-picker/use-time-picker-context.ts var [TimePickerProvider, useTimePickerContext] = createContext({ hookName: "useTimePickerContext", providerName: "<TimePickerProvider />" }); // src/components/time-picker/time-picker-cell.tsx var TimePickerCell = (props) => { const [cellProps, localProps] = createSplitProps()(props, ["value"]); const timePicker2 = useTimePickerContext(); const columnProps = useTimePickerColumnPropsContext(); const unitToPropsMap = { hour: () => timePicker2().getHourCellProps(cellProps), minute: () => timePicker2().getMinuteCellProps(cellProps), second: () => timePicker2().getSecondCellProps(cellProps), period: () => timePicker2().getPeriodCellProps(cellProps) }; const mergedProps = mergeProps(() => unitToPropsMap[columnProps.unit](), localProps); return <ark.button {...mergedProps} />; }; // src/components/time-picker/time-picker-clear-trigger.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; var TimePickerClearTrigger = (props) => { const timePicker2 = useTimePickerContext(); const mergedProps = mergeProps2(() => timePicker2().getClearTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/time-picker/time-picker-column.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; var TimePickerColumn = (props) => { const [columnProps, localProps] = createSplitProps()(props, ["unit"]); const timePicker2 = useTimePickerContext(); const mergedProps = mergeProps3(() => timePicker2().getColumnProps(columnProps), localProps); return <TimePickerColumnPropsProvider value={columnProps}> <ark.div {...mergedProps} /> </TimePickerColumnPropsProvider>; }; // src/components/time-picker/time-picker-content.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; import { Show } from "solid-js"; var TimePickerContent = (props) => { const timePicker2 = useTimePickerContext(); const presenceApi = usePresenceContext(); const mergedProps = mergeProps4( () => timePicker2().getContentProps(), () => presenceApi().presenceProps, props ); return <Show when={!presenceApi().unmounted}> <ark.div {...mergedProps} ref={composeRefs(presenceApi().ref, props.ref)} /> </Show>; }; // src/components/time-picker/time-picker-context.tsx var TimePickerContext = (props) => props.children(useTimePickerContext()); // src/components/time-picker/time-picker-control.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; var TimePickerControl = (props) => { const timePicker2 = useTimePickerContext(); const mergedProps = mergeProps5(() => timePicker2().getControlProps(), props); return <ark.div {...mergedProps} />; }; // src/components/time-picker/time-picker-input.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; var TimePickerInput = (props) => { const timePicker2 = useTimePickerContext(); const mergedProps = mergeProps6(() => timePicker2().getInputProps(), props); return <ark.input {...mergedProps} />; }; // src/components/time-picker/time-picker-label.tsx import { mergeProps as mergeProps7 } from "@zag-js/solid"; var TimePickerLabel = (props) => { const timePicker2 = useTimePickerContext(); const mergedProps = mergeProps7(() => timePicker2().getLabelProps(), props); return <ark.label {...mergedProps} />; }; // src/components/time-picker/time-picker-positioner.tsx import { mergeProps as mergeProps8 } from "@zag-js/solid"; import { Show as Show2 } from "solid-js"; var TimePickerPositioner = (props) => { const timePicker2 = useTimePickerContext(); const mergedProps = mergeProps8(() => timePicker2().getPositionerProps(), props); const presenceApi = usePresenceContext(); return <Show2 when={!presenceApi().unmounted}> <ark.div {...mergedProps} /> </Show2>; }; // src/components/time-picker/time-picker-root.tsx import { mergeProps as mergeProps9 } from "@zag-js/solid"; // src/components/time-picker/use-time-picker.ts import { normalizeProps, useMachine } from "@zag-js/solid"; import * as timePicker from "@zag-js/time-picker"; import { createMemo, createUniqueId } from "solid-js"; var useTimePicker = (props) => { const id = createUniqueId(); const locale = useLocaleContext(); const environment = useEnvironmentContext(); const machineProps = createMemo(() => ({ id, dir: locale().dir, getRootNode: environment().getRootNode, locale: locale().locale, ...runIfFn(props) })); const service = useMachine(timePicker.machine, machineProps); return createMemo(() => timePicker.connect(service, normalizeProps)); }; // src/components/time-picker/time-picker-root.tsx var TimePickerRoot = (props) => { const [presenceProps, timePickerProps] = splitPresenceProps(props); const [useTimePickerProps, localProps] = createSplitProps()(timePickerProps, [ "allowSeconds", "defaultOpen", "defaultValue", "disableLayer", "disabled", "id", "ids", "locale", "max", "min", "name", "onFocusChange", "onOpenChange", "onValueChange", "open", "placeholder", "positioning", "readOnly", "steps", "value" ]); const timePicker2 = useTimePicker(useTimePickerProps); const apiPresence = usePresence(mergeProps9(presenceProps, () => ({ present: timePicker2().open }))); const mergedProps = mergeProps9(() => timePicker2().getRootProps(), localProps); return <TimePickerProvider value={timePicker2}> <PresenceProvider value={apiPresence}> <ark.div {...mergedProps} /> </PresenceProvider> </TimePickerProvider>; }; // src/components/time-picker/time-picker-root-provider.tsx import { mergeProps as mergeProps10 } from "@zag-js/solid"; var TimePickerRootProvider = (props) => { const [presenceProps, timePickerProps] = splitPresenceProps(props); const [{ value: timePicker2 }, localProps] = createSplitProps()(timePickerProps, ["value"]); const apiPresence = usePresence(mergeProps10(presenceProps, () => ({ present: timePicker2().open }))); const mergedProps = mergeProps10(() => timePicker2().getRootProps(), localProps); return <TimePickerProvider value={timePicker2}> <PresenceProvider value={apiPresence}> <ark.div {...mergedProps} /> </PresenceProvider> </TimePickerProvider>; }; // src/components/time-picker/time-picker-spacer.tsx import { mergeProps as mergeProps11 } from "@zag-js/solid"; var TimePickerSpacer = (props) => { const timePicker2 = useTimePickerContext(); const mergedProps = mergeProps11(() => timePicker2().getSpacerProps(), props); return <ark.div {...mergedProps} />; }; // src/components/time-picker/time-picker-trigger.tsx import { mergeProps as mergeProps12 } from "@zag-js/solid"; var TimePickerTrigger = (props) => { const timePicker2 = useTimePickerContext(); const mergedProps = mergeProps12(() => timePicker2().getTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/time-picker/time-picker.anatomy.ts import { anatomy } from "@zag-js/time-picker"; // src/components/time-picker/time-picker.ts var time_picker_exports = {}; __export(time_picker_exports, { Cell: () => TimePickerCell, ClearTrigger: () => TimePickerClearTrigger, Column: () => TimePickerColumn, Content: () => TimePickerContent, Context: () => TimePickerContext, Control: () => TimePickerControl, Input: () => TimePickerInput, Label: () => TimePickerLabel, Positioner: () => TimePickerPositioner, Root: () => TimePickerRoot, RootProvider: () => TimePickerRootProvider, Spacer: () => TimePickerSpacer, Trigger: () => TimePickerTrigger }); export { useTimePickerContext, TimePickerCell, TimePickerClearTrigger, TimePickerColumn, TimePickerContent, TimePickerContext, TimePickerControl, TimePickerInput, TimePickerLabel, TimePickerPositioner, useTimePicker, TimePickerRoot, TimePickerRootProvider, TimePickerSpacer, TimePickerTrigger, anatomy, time_picker_exports, parseTime };