@yamada-ui/stepper
Version:
Yamada UI stepper component
106 lines (105 loc) • 3.5 kB
JavaScript
"use client"
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/use-stepper.ts
var use_stepper_exports = {};
__export(use_stepper_exports, {
StepperDescendantsContextProvider: () => StepperDescendantsContextProvider,
StepperProvider: () => StepperProvider,
useStep: () => useStep,
useStepper: () => useStepper,
useStepperContext: () => useStepperContext,
useStepperDescendant: () => useStepperDescendant,
useStepperDescendants: () => useStepperDescendants
});
module.exports = __toCommonJS(use_stepper_exports);
var import_use_descendant = require("@yamada-ui/use-descendant");
var import_utils = require("@yamada-ui/utils");
var import_react = require("react");
var {
DescendantsContextProvider: StepperDescendantsContextProvider,
useDescendant: useStepperDescendant,
useDescendants: useStepperDescendants
} = (0, import_use_descendant.createDescendant)();
var [StepperProvider, useStepperContext] = (0, import_utils.createContext)({
name: "StepperContext",
errorMessage: `useStepperContext returned is 'undefined'. Seems you forgot to wrap the components in "<Stepper />"`
});
var useStepper = ({
index,
orientation = "horizontal",
showLastSeparator = false,
...rest
}) => {
const descendants = useStepperDescendants();
const getStepStatus = (0, import_react.useCallback)(
(step) => {
if (step < index) return "complete";
if (step > index) return "incomplete";
return "active";
},
[index]
);
const getContainerProps = (0, import_react.useCallback)(
(props = {}, ref = null) => ({
...rest,
...props,
ref,
"data-orientation": orientation
}),
[orientation, rest]
);
return {
descendants,
getStepStatus,
index,
orientation,
showLastSeparator,
getContainerProps
};
};
var useStep = () => {
var _a;
const { getStepStatus, orientation } = useStepperContext();
const { descendants, index, register } = useStepperDescendant();
const isFirst = index === 0;
const isLast = index === ((_a = descendants.lastValue()) == null ? void 0 : _a.index);
const status = getStepStatus(index);
const getStepProps = (0, import_react.useCallback)(
(props = {}, ref = null) => ({
...props,
ref: (0, import_utils.mergeRefs)(ref, register),
"data-orientation": orientation,
"data-status": status
}),
[orientation, register, status]
);
return { index, isFirst, isLast, status, getStepProps };
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
StepperDescendantsContextProvider,
StepperProvider,
useStep,
useStepper,
useStepperContext,
useStepperDescendant,
useStepperDescendants
});
//# sourceMappingURL=use-stepper.js.map