@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
JSX
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
};