@techsio/ui-kit 0.44.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/internal/date-picker-coordinator.js +166 -0
  2. package/dist/molecules/date-picker.js +1374 -0
  3. package/dist/molecules/tour.js +318 -0
  4. package/dist/src/internal/date-picker-coordinator.d.ts +42 -0
  5. package/dist/src/internal/date-picker-coordinator.d.ts.map +1 -0
  6. package/dist/src/molecules/date-picker.d.ts +159 -0
  7. package/dist/src/molecules/date-picker.d.ts.map +1 -0
  8. package/dist/src/molecules/tour.d.ts +72 -0
  9. package/dist/src/molecules/tour.d.ts.map +1 -0
  10. package/dist/src/types/zag.d.ts +1 -0
  11. package/dist/src/types/zag.d.ts.map +1 -1
  12. package/dist/stories/changelog/changelog.stories.d.ts +1 -1
  13. package/dist/stories/changelog/changelog.stories.d.ts.map +1 -1
  14. package/dist/stories/molecules/date-picker.stories.d.ts +141 -0
  15. package/dist/stories/molecules/date-picker.stories.d.ts.map +1 -0
  16. package/dist/stories/molecules/tour.stories.d.ts +58 -0
  17. package/dist/stories/molecules/tour.stories.d.ts.map +1 -0
  18. package/dist/test/date-picker.behavior.spec.d.ts +2 -0
  19. package/dist/test/date-picker.behavior.spec.d.ts.map +1 -0
  20. package/dist/test/tour.playwright.config.d.ts +4 -0
  21. package/dist/test/tour.playwright.config.d.ts.map +1 -0
  22. package/dist/test/tour.spec.d.ts +2 -0
  23. package/dist/test/tour.spec.d.ts.map +1 -0
  24. package/dist/test/tour.typecheck.d.ts +11 -0
  25. package/dist/test/tour.typecheck.d.ts.map +1 -0
  26. package/package.json +11 -3
  27. package/src/tokens/components/components.css +2 -0
  28. package/src/tokens/components/molecules/_date-picker.css +225 -0
  29. package/src/tokens/components/molecules/_tour.css +121 -0
@@ -0,0 +1,318 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Portal, mergeProps, normalizeProps, useMachine } from "@zag-js/react";
3
+ import { connect, machine } from "@zag-js/tour";
4
+ import { createContext, useContext, useEffect, useId, useLayoutEffect, useRef } from "react";
5
+ import { ActionIcon } from "../atoms/action-icon.js";
6
+ import { Button } from "../atoms/button.js";
7
+ import { tv } from "../utils.js";
8
+ const tourStyles = tv({
9
+ slots: {
10
+ backdrop: "tour-layer bg-tour-backdrop-bg",
11
+ spotlight: "tour-layer tour-spotlight-border",
12
+ positioner: "tour-layer tour-positioner",
13
+ content: "tour-layer tour-content tour-border relative flex flex-col gap-tour-content rounded-tour bg-tour-bg p-tour text-tour-fg shadow-tour outline-none",
14
+ arrow: "tour-arrow",
15
+ arrowTip: "bg-tour-arrow-bg",
16
+ title: "pe-tour-title font-tour-title text-tour-title-size",
17
+ description: "text-tour-body-size text-tour-description-fg",
18
+ progressText: "text-tour-progress-fg text-tour-progress-size",
19
+ actions: "flex flex-wrap items-center justify-end gap-tour-actions pt-tour-actions",
20
+ closeTrigger: "absolute end-tour-close top-tour-close"
21
+ }
22
+ });
23
+ const TourContext = /*#__PURE__*/ createContext(null);
24
+ const useIsomorphicLayoutEffect = "u" < typeof window ? useEffect : useLayoutEffect;
25
+ function useTourContext() {
26
+ const api = useContext(TourContext);
27
+ if (!api) throw new Error("Tour components must be used within Tour.Root");
28
+ return api;
29
+ }
30
+ function Tour({ children, getRootNode, id, onStatusChange, steps, ...props }) {
31
+ const generatedId = useId();
32
+ const previousFocus = useRef(null);
33
+ const effectCleanup = useRef(void 0);
34
+ const service = useMachine(machine, {
35
+ ...props,
36
+ preventInteraction: false,
37
+ getRootNode,
38
+ id: id ?? generatedId,
39
+ steps: steps.map(prepareStep),
40
+ onStatusChange (details) {
41
+ if ("not-found" === details.status) effectCleanup.current?.();
42
+ if ("started" === details.status) {
43
+ const rootNode = getRootNode?.() ?? document;
44
+ const activeElement = "activeElement" in rootNode ? rootNode.activeElement : rootNode.ownerDocument?.activeElement;
45
+ previousFocus.current = activeElement instanceof HTMLElement ? activeElement : null;
46
+ } else if ("idle" !== details.status) {
47
+ const target = previousFocus.current;
48
+ previousFocus.current = null;
49
+ requestAnimationFrame(()=>{
50
+ if (target?.isConnected) target.focus({
51
+ preventScroll: true
52
+ });
53
+ });
54
+ }
55
+ onStatusChange?.(details);
56
+ }
57
+ });
58
+ function prepareStep(step) {
59
+ return {
60
+ ...step,
61
+ effect: step.effect && prepareEffect(step.effect)
62
+ };
63
+ }
64
+ function prepareEffect(effect) {
65
+ return (args)=>{
66
+ const cleanup = effect(args);
67
+ let cleaned = false;
68
+ const cleanupOnce = ()=>{
69
+ if (cleaned) return;
70
+ cleaned = true;
71
+ if (effectCleanup.current === cleanupOnce) effectCleanup.current = void 0;
72
+ cleanup?.();
73
+ };
74
+ effectCleanup.current = cleanupOnce;
75
+ return cleanupOnce;
76
+ };
77
+ }
78
+ const zag = connect(service, normalizeProps);
79
+ const handleKeyDown = (event)=>{
80
+ if (event.defaultPrevented || false === props.keyboardNavigation) return;
81
+ if (event.target instanceof Element && event.target.closest("input, textarea, select, [contenteditable='true']")) return;
82
+ const [nextKey, prevKey] = "rtl" === props.dir ? [
83
+ "ArrowLeft",
84
+ "ArrowRight"
85
+ ] : [
86
+ "ArrowRight",
87
+ "ArrowLeft"
88
+ ];
89
+ if (event.key === nextKey && zag.hasNextStep) {
90
+ event.preventDefault();
91
+ zag.next();
92
+ return;
93
+ }
94
+ if (event.key === prevKey && zag.hasPrevStep) {
95
+ event.preventDefault();
96
+ zag.prev();
97
+ }
98
+ };
99
+ const api = {
100
+ ...zag,
101
+ addStep: (step)=>zag.addStep(prepareStep(step)),
102
+ updateStep: (stepId, step)=>zag.updateStep(stepId, "effect" in step ? {
103
+ ...step,
104
+ effect: step.effect && prepareEffect(step.effect)
105
+ } : step),
106
+ setSteps: (nextSteps)=>zag.setSteps(nextSteps.map(prepareStep)),
107
+ getContentProps () {
108
+ return {
109
+ ...zag.getContentProps(),
110
+ onKeyDown: handleKeyDown
111
+ };
112
+ }
113
+ };
114
+ const activeTarget = api.step?.target?.();
115
+ useIsomorphicLayoutEffect(()=>{
116
+ if (!(api.open && props.preventInteraction && activeTarget) || activeTarget.inert) return;
117
+ activeTarget.inert = true;
118
+ let changedExternally = false;
119
+ const observer = new MutationObserver(()=>{
120
+ changedExternally = true;
121
+ });
122
+ observer.observe(activeTarget, {
123
+ attributes: true,
124
+ attributeFilter: [
125
+ "inert"
126
+ ]
127
+ });
128
+ return ()=>{
129
+ const hasExternalWrite = changedExternally || observer.takeRecords().length > 0;
130
+ observer.disconnect();
131
+ if (!hasExternalWrite) activeTarget.inert = false;
132
+ };
133
+ }, [
134
+ api.open,
135
+ props.preventInteraction,
136
+ activeTarget
137
+ ]);
138
+ useEffect(()=>()=>{
139
+ const target = previousFocus.current;
140
+ previousFocus.current = null;
141
+ queueMicrotask(()=>{
142
+ if (target?.isConnected) target.focus({
143
+ preventScroll: true
144
+ });
145
+ });
146
+ }, []);
147
+ return /*#__PURE__*/ jsx(TourContext.Provider, {
148
+ value: {
149
+ ...api,
150
+ isRunning: !service.state.matches("tourInactive")
151
+ },
152
+ children: children
153
+ });
154
+ }
155
+ Tour.Context = function({ children }) {
156
+ return children(useTourContext());
157
+ };
158
+ Tour.Trigger = function({ disabled, onClick, stepId, type = "button", ...props }) {
159
+ const api = useTourContext();
160
+ return /*#__PURE__*/ jsx(Button, {
161
+ ...props,
162
+ disabled: disabled || api.isRunning || 0 === api.totalSteps,
163
+ onClick: (event)=>{
164
+ onClick?.(event);
165
+ if (!event.defaultPrevented) api.start(stepId);
166
+ },
167
+ type: type
168
+ });
169
+ };
170
+ Tour.Portal = Portal;
171
+ Tour.Backdrop = function({ className, ref, ...props }) {
172
+ const api = useTourContext();
173
+ if (!(api.open && api.step?.backdrop)) return null;
174
+ return /*#__PURE__*/ jsx("div", {
175
+ ...mergeProps(props, api.getBackdropProps()),
176
+ className: tourStyles().backdrop({
177
+ className
178
+ }),
179
+ ref: ref
180
+ });
181
+ };
182
+ Tour.Spotlight = function({ className, ref, ...props }) {
183
+ const api = useTourContext();
184
+ if (!api.open || api.step?.type !== "tooltip") return null;
185
+ return /*#__PURE__*/ jsx("div", {
186
+ ...mergeProps(props, api.getSpotlightProps()),
187
+ className: tourStyles().spotlight({
188
+ className
189
+ }),
190
+ ref: ref
191
+ });
192
+ };
193
+ Tour.Positioner = function({ className, ref, ...props }) {
194
+ const api = useTourContext();
195
+ if (!api.open) return null;
196
+ return /*#__PURE__*/ jsx("div", {
197
+ ...mergeProps(props, api.getPositionerProps()),
198
+ className: tourStyles().positioner({
199
+ className
200
+ }),
201
+ ref: ref
202
+ });
203
+ };
204
+ Tour.Content = function({ className, ref, ...props }) {
205
+ const api = useTourContext();
206
+ return /*#__PURE__*/ jsx("div", {
207
+ ...mergeProps(props, api.getContentProps()),
208
+ className: tourStyles().content({
209
+ className
210
+ }),
211
+ ref: ref
212
+ });
213
+ };
214
+ Tour.Arrow = function({ children, className, ref, ...props }) {
215
+ const api = useTourContext();
216
+ if (!api.step?.arrow || "tooltip" !== api.step.type) return null;
217
+ return /*#__PURE__*/ jsx("div", {
218
+ ...mergeProps(props, api.getArrowProps()),
219
+ className: tourStyles().arrow({
220
+ className
221
+ }),
222
+ ref: ref,
223
+ children: children ?? /*#__PURE__*/ jsx(Tour.ArrowTip, {})
224
+ });
225
+ };
226
+ Tour.ArrowTip = function({ className, ref, ...props }) {
227
+ const api = useTourContext();
228
+ return /*#__PURE__*/ jsx("div", {
229
+ ...mergeProps(props, api.getArrowTipProps()),
230
+ className: tourStyles().arrowTip({
231
+ className
232
+ }),
233
+ ref: ref
234
+ });
235
+ };
236
+ Tour.Title = function({ children, className, ref, ...props }) {
237
+ const api = useTourContext();
238
+ return /*#__PURE__*/ jsx("div", {
239
+ ...mergeProps(props, api.getTitleProps()),
240
+ className: tourStyles().title({
241
+ className
242
+ }),
243
+ ref: ref,
244
+ children: children ?? api.step?.title
245
+ });
246
+ };
247
+ Tour.Description = function({ children, className, ref, ...props }) {
248
+ const api = useTourContext();
249
+ return /*#__PURE__*/ jsx("div", {
250
+ ...mergeProps(props, api.getDescriptionProps()),
251
+ className: tourStyles().description({
252
+ className
253
+ }),
254
+ ref: ref,
255
+ children: children ?? api.step?.description
256
+ });
257
+ };
258
+ Tour.ProgressText = function({ children, className, ref, ...props }) {
259
+ const api = useTourContext();
260
+ return /*#__PURE__*/ jsx("span", {
261
+ ...mergeProps(props, api.getProgressTextProps()),
262
+ className: tourStyles().progressText({
263
+ className
264
+ }),
265
+ ref: ref,
266
+ children: children ?? api.getProgressText()
267
+ });
268
+ };
269
+ Tour.Actions = function({ className, ref, ...props }) {
270
+ useTourContext();
271
+ return /*#__PURE__*/ jsx("div", {
272
+ ...props,
273
+ className: tourStyles().actions({
274
+ className
275
+ }),
276
+ ref: ref
277
+ });
278
+ };
279
+ Tour.ActionTrigger = function({ action, children, disabled, onClick, type = "button", ...props }) {
280
+ const api = useTourContext();
281
+ const { onClick: onMachineClick, disabled: machineDisabled, "aria-label": machineLabel, ...machineProps } = api.getActionTriggerProps({
282
+ action: {
283
+ action,
284
+ label: ""
285
+ }
286
+ });
287
+ return /*#__PURE__*/ jsx(Button, {
288
+ ...mergeProps(props, machineProps),
289
+ "aria-label": props["aria-label"] ?? (null != children ? void 0 : machineLabel),
290
+ disabled: disabled || machineDisabled,
291
+ onClick: (event)=>{
292
+ onClick?.(event);
293
+ if (!event.defaultPrevented) onMachineClick?.(event);
294
+ },
295
+ type: type,
296
+ children: children
297
+ });
298
+ };
299
+ Tour.CloseTrigger = function({ className, icon = "token-icon-close", onClick, ref, ...props }) {
300
+ const api = useTourContext();
301
+ const { onClick: onMachineClick, "aria-label": machineLabel, ...machineProps } = api.getCloseTriggerProps();
302
+ return /*#__PURE__*/ jsx(ActionIcon, {
303
+ ...mergeProps(props, machineProps),
304
+ "aria-label": props["aria-label"] ?? machineLabel,
305
+ className: tourStyles().closeTrigger({
306
+ className
307
+ }),
308
+ icon: icon,
309
+ onClick: (event)=>{
310
+ onClick?.(event);
311
+ if (!event.defaultPrevented) onMachineClick?.(event);
312
+ },
313
+ ref: ref
314
+ });
315
+ };
316
+ Tour.Root = Tour;
317
+ Tour.displayName = "Tour";
318
+ export { Tour };
@@ -0,0 +1,42 @@
1
+ import type { CalendarDateTime, DateValue, ZonedDateTime } from "@internationalized/date";
2
+ export type DatePickerCandidate = DateValue | readonly DateValue[] | null;
3
+ export type DatePickerCandidateIndex = 0 | 1;
4
+ export type DatePickerDraftTimePart = "hour" | "minute" | "second" | "dayPeriod";
5
+ export type DatePickerDraftTimeParts = Partial<Record<DatePickerDraftTimePart, number | null>>;
6
+ export type DatePickerTimeGranularity = "hour" | "minute" | "second";
7
+ export type DatePickerDraft = {
8
+ baseline: DatePickerCandidate;
9
+ candidate: DatePickerCandidate;
10
+ timeGranularity?: DatePickerTimeGranularity;
11
+ timeHourCycle?: 12 | 24;
12
+ timeParts?: Partial<Record<DatePickerCandidateIndex, DatePickerDraftTimeParts>>;
13
+ };
14
+ export type DatePickerCoordinatorState = {
15
+ draft: DatePickerDraft | null;
16
+ };
17
+ export type DatePickerCoordinatorAction = {
18
+ type: "open";
19
+ value: DatePickerCandidate;
20
+ } | {
21
+ type: "edit";
22
+ value: DatePickerCandidate;
23
+ } | {
24
+ type: "edit-time";
25
+ granularity: DatePickerTimeGranularity;
26
+ hourCycle?: 12 | 24;
27
+ index?: DatePickerCandidateIndex;
28
+ part: DatePickerDraftTimePart;
29
+ value: number | null;
30
+ } | {
31
+ type: "resync";
32
+ value: DatePickerCandidate;
33
+ } | {
34
+ type: "discard";
35
+ };
36
+ export declare function createDatePickerCoordinatorState(): DatePickerCoordinatorState;
37
+ export declare function datePickerCoordinatorReducer(state: DatePickerCoordinatorState, action: DatePickerCoordinatorAction): DatePickerCoordinatorState;
38
+ export declare function isDatePickerDraftDirty(state: DatePickerCoordinatorState): boolean;
39
+ export declare function canConfirmDatePickerDraft(state: DatePickerCoordinatorState, isTimeUnavailable?: (value: CalendarDateTime | ZonedDateTime, index: DatePickerCandidateIndex) => boolean): boolean;
40
+ export declare function isTimedDateValue(value: DateValue | null | undefined): value is CalendarDateTime | ZonedDateTime;
41
+ export declare function getDatePickerDraftTimeParts(state: DatePickerCoordinatorState, hourCycle?: 12 | 24, index?: DatePickerCandidateIndex): DatePickerDraftTimeParts;
42
+ //# sourceMappingURL=date-picker-coordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-picker-coordinator.d.ts","sourceRoot":"","sources":["../../../src/internal/date-picker-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACd,MAAM,yBAAyB,CAAA;AAGhC,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,SAAS,EAAE,GAAG,IAAI,CAAA;AACzE,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,CAAC,CAAA;AAC5C,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAA;AAChF,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,MAAM,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC,CAC/C,CAAA;AACD,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEpE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,SAAS,EAAE,mBAAmB,CAAA;IAC9B,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CACjB,MAAM,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAC3D,CAAA;CACF,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,2BAA2B,GACnC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GAC5C;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,EAAE,yBAAyB,CAAA;IACtC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,wBAAwB,CAAA;IAChC,IAAI,EAAE,uBAAuB,CAAA;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEvB,wBAAgB,gCAAgC,IAAI,0BAA0B,CAE7E;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,0BAA0B,EACjC,MAAM,EAAE,2BAA2B,GAClC,0BAA0B,CAuE5B;AAuDD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,0BAA0B,WASvE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,0BAA0B,EACjC,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,gBAAgB,GAAG,aAAa,EACvC,KAAK,EAAE,wBAAwB,KAC5B,OAAO,WA6Db;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAClC,KAAK,IAAI,gBAAgB,GAAG,aAAa,CAE3C;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,EACjC,SAAS,GAAE,EAAE,GAAG,EAAO,EACvB,KAAK,GAAE,wBAA4B,GAClC,wBAAwB,CAa1B"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * DatePicker — @techsio/ui-kit molecule.
3
+ *
4
+ * @component DatePicker
5
+ * @componentVersion v1.1.1
6
+ * @skill date-picker-usage
7
+ * @changelog libs/ui/stories/changelog/changelog.stories.tsx
8
+ */
9
+ import type { CalendarDate, CalendarDateTime, DateValue, ZonedDateTime } from "@internationalized/date";
10
+ import { type PositioningOptions } from "@zag-js/date-picker";
11
+ import type { ComponentPropsWithoutRef, ReactElement, ReactNode, Ref } from "react";
12
+ import { type ButtonProps } from "../atoms/button.js";
13
+ export type DatePickerGranularity = "day" | "hour" | "minute" | "second";
14
+ export type DatePickerSelectionMode = "single" | "range";
15
+ export type DatePickerSize = "sm" | "md" | "lg";
16
+ export type DatePickerTimedValue = CalendarDateTime | ZonedDateTime;
17
+ export type DatePickerRange<T> = readonly [T, T];
18
+ export type DatePickerTimedRange = DatePickerRange<CalendarDateTime> | DatePickerRange<ZonedDateTime>;
19
+ type DatePickerPublicValue = DateValue | DatePickerRange<DateValue>;
20
+ export type DatePickerValueChangeDetails<T extends DatePickerPublicValue> = {
21
+ value: T | null;
22
+ valueAsString: T extends DatePickerRange<DateValue> ? DatePickerRange<string> : string;
23
+ };
24
+ export type DatePickerOpenChangeDetails = {
25
+ open: boolean;
26
+ };
27
+ type DatePickerCommonRootProps<T extends DatePickerPublicValue> = Omit<ComponentPropsWithoutRef<"div">, "defaultValue" | "onChange"> & {
28
+ children: ReactNode;
29
+ defaultOpen?: boolean;
30
+ defaultValue?: T | null;
31
+ disabled?: boolean;
32
+ flip?: PositioningOptions["flip"];
33
+ form?: string;
34
+ gutter?: PositioningOptions["gutter"];
35
+ hideTimeZone?: boolean;
36
+ hourCycle?: 12 | 24;
37
+ invalid?: boolean;
38
+ isDateUnavailable?: (date: DateValue, locale: string) => boolean;
39
+ locale?: string;
40
+ max?: DateValue;
41
+ min?: DateValue;
42
+ offset?: PositioningOptions["offset"];
43
+ onOpenChange?: (details: DatePickerOpenChangeDetails) => void;
44
+ onValueChange?: (details: DatePickerValueChangeDetails<T>) => void;
45
+ open?: boolean;
46
+ overflowPadding?: PositioningOptions["overflowPadding"];
47
+ placement?: PositioningOptions["placement"];
48
+ readOnly?: boolean;
49
+ ref?: Ref<HTMLDivElement>;
50
+ required?: boolean;
51
+ sameWidth?: PositioningOptions["sameWidth"];
52
+ shouldForceLeadingZeros?: boolean;
53
+ size?: DatePickerSize;
54
+ slide?: PositioningOptions["slide"];
55
+ startOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
56
+ timeZone?: string;
57
+ value?: T | null;
58
+ };
59
+ type DatePickerSingleRootFields = {
60
+ endName?: never;
61
+ name?: string;
62
+ numOfMonths?: number;
63
+ selectionMode?: "single";
64
+ startName?: never;
65
+ };
66
+ type DatePickerRangeRootFields = {
67
+ endName?: string;
68
+ name?: never;
69
+ numOfMonths?: number;
70
+ selectionMode: "range";
71
+ startName?: string;
72
+ };
73
+ export type DatePickerDayRootProps = DatePickerCommonRootProps<CalendarDate> & DatePickerSingleRootFields & {
74
+ granularity?: "day";
75
+ isTimeUnavailable?: never;
76
+ };
77
+ export type DatePickerTimedRootProps = DatePickerCommonRootProps<DatePickerTimedValue> & DatePickerSingleRootFields & {
78
+ granularity: Exclude<DatePickerGranularity, "day">;
79
+ isTimeUnavailable?: (value: DatePickerTimedValue) => boolean;
80
+ };
81
+ export type DatePickerDayRangeRootProps = DatePickerCommonRootProps<DatePickerRange<CalendarDate>> & DatePickerRangeRootFields & {
82
+ granularity?: "day";
83
+ isTimeUnavailable?: never;
84
+ };
85
+ export type DatePickerTimedRangeRootProps = DatePickerCommonRootProps<DatePickerTimedRange> & DatePickerRangeRootFields & {
86
+ granularity: Exclude<DatePickerGranularity, "day">;
87
+ isTimeUnavailable?: (value: DatePickerTimedValue, index: 0 | 1) => boolean;
88
+ };
89
+ export type DatePickerRangeRootProps = DatePickerDayRangeRootProps | DatePickerTimedRangeRootProps;
90
+ export type DatePickerRootProps = DatePickerDayRootProps | DatePickerTimedRootProps | DatePickerRangeRootProps;
91
+ export type DatePickerProps = DatePickerRootProps;
92
+ export declare function DatePicker(props: DatePickerDayRootProps): ReactElement;
93
+ export declare function DatePicker(props: DatePickerTimedRootProps): ReactElement;
94
+ export declare function DatePicker(props: DatePickerDayRangeRootProps): ReactElement;
95
+ export declare function DatePicker(props: DatePickerTimedRangeRootProps): ReactElement;
96
+ export declare namespace DatePicker {
97
+ var Label: ({ children, className, ref, ...props }: DatePickerLabelProps) => import("react/jsx-runtime").JSX.Element;
98
+ var Control: ({ children, className, ref, ...props }: DatePickerControlProps) => import("react/jsx-runtime").JSX.Element;
99
+ var Segments: ({ className, endLabel, ref, separator, startLabel, ...props }: DatePickerSegmentsProps) => import("react/jsx-runtime").JSX.Element;
100
+ var IndicatorGroup: ({ className, ref, ...props }: DatePickerIndicatorGroupProps) => import("react/jsx-runtime").JSX.Element;
101
+ var Trigger: ({ children, className, icon, iconSize, ref, size, theme, type, ...props }: DatePickerTriggerProps) => import("react/jsx-runtime").JSX.Element;
102
+ var ClearTrigger: ({ children, className, icon, iconSize, onClick, ref, size, theme, type, ...props }: DatePickerClearTriggerProps) => import("react/jsx-runtime").JSX.Element;
103
+ var Positioner: ({ children, className, forceMount, ref, ...props }: DatePickerPositionerProps) => import("react/jsx-runtime").JSX.Element | null;
104
+ var Content: ({ className, ref, ...props }: DatePickerContentProps) => import("react/jsx-runtime").JSX.Element;
105
+ var Calendar: ({ className, ref, ...props }: DatePickerCalendarProps) => import("react/jsx-runtime").JSX.Element;
106
+ var TimeControl: ({ className, endLabel, ref, startLabel, ...props }: DatePickerTimeControlProps) => import("react/jsx-runtime").JSX.Element | null;
107
+ var Footer: ({ className, ref, ...props }: DatePickerFooterProps) => import("react/jsx-runtime").JSX.Element;
108
+ var CancelTrigger: ({ children, className, onClick, ref, size: sizeProp, theme, type, variant, ...props }: DatePickerCancelTriggerProps) => import("react/jsx-runtime").JSX.Element;
109
+ var ConfirmTrigger: ({ children, className, disabled, onClick, ref, size: sizeProp, theme, type, variant, ...props }: DatePickerConfirmTriggerProps) => import("react/jsx-runtime").JSX.Element;
110
+ var Root: typeof DatePicker;
111
+ var displayName: string;
112
+ }
113
+ export type DatePickerLabelProps = ComponentPropsWithoutRef<"label"> & {
114
+ ref?: Ref<HTMLLabelElement>;
115
+ };
116
+ export type DatePickerControlProps = ComponentPropsWithoutRef<"div"> & {
117
+ ref?: Ref<HTMLDivElement>;
118
+ };
119
+ export type DatePickerSegmentsProps = Omit<ComponentPropsWithoutRef<"div">, "children"> & {
120
+ endLabel?: string;
121
+ ref?: Ref<HTMLDivElement>;
122
+ separator?: ReactNode;
123
+ startLabel?: string;
124
+ };
125
+ export type DatePickerIndicatorGroupProps = ComponentPropsWithoutRef<"div"> & {
126
+ ref?: Ref<HTMLDivElement>;
127
+ };
128
+ export type DatePickerTriggerProps = ButtonProps & {
129
+ ref?: Ref<HTMLButtonElement>;
130
+ };
131
+ export type DatePickerClearTriggerProps = ButtonProps & {
132
+ ref?: Ref<HTMLButtonElement>;
133
+ };
134
+ export type DatePickerPositionerProps = ComponentPropsWithoutRef<"div"> & {
135
+ forceMount?: boolean;
136
+ ref?: Ref<HTMLDivElement>;
137
+ };
138
+ export type DatePickerContentProps = ComponentPropsWithoutRef<"div"> & {
139
+ ref?: Ref<HTMLDivElement>;
140
+ };
141
+ export type DatePickerCalendarProps = Omit<ComponentPropsWithoutRef<"div">, "children"> & {
142
+ ref?: Ref<HTMLDivElement>;
143
+ };
144
+ export type DatePickerTimeControlProps = Omit<ComponentPropsWithoutRef<"div">, "children"> & {
145
+ endLabel?: string;
146
+ ref?: Ref<HTMLDivElement>;
147
+ startLabel?: string;
148
+ };
149
+ export type DatePickerFooterProps = ComponentPropsWithoutRef<"div"> & {
150
+ ref?: Ref<HTMLDivElement>;
151
+ };
152
+ export type DatePickerCancelTriggerProps = ButtonProps & {
153
+ ref?: Ref<HTMLButtonElement>;
154
+ };
155
+ export type DatePickerConfirmTriggerProps = ButtonProps & {
156
+ ref?: Ref<HTMLButtonElement>;
157
+ };
158
+ export {};
159
+ //# sourceMappingURL=date-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../../src/molecules/date-picker.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,aAAa,EACd,MAAM,yBAAyB,CAAA;AAMhC,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,wBAAwB,EAExB,YAAY,EACZ,SAAS,EACT,GAAG,EACJ,MAAM,OAAO,CAAA;AAWd,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAe1D,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;AACxE,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,OAAO,CAAA;AACxD,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC/C,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,aAAa,CAAA;AACnE,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAChD,MAAM,MAAM,oBAAoB,GAC5B,eAAe,CAAC,gBAAgB,CAAC,GACjC,eAAe,CAAC,aAAa,CAAC,CAAA;AAClC,KAAK,qBAAqB,GAAG,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAEnE,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,qBAAqB,IAAI;IAC1E,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACf,aAAa,EAAE,CAAC,SAAS,eAAe,CAAC,SAAS,CAAC,GAC/C,eAAe,CAAC,MAAM,CAAC,GACvB,MAAM,CAAA;CACX,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,yBAAyB,CAAC,CAAC,SAAS,qBAAqB,IAAI,IAAI,CACpE,wBAAwB,CAAC,KAAK,CAAC,EAC/B,cAAc,GAAG,UAAU,CAC5B,GAAG;IACF,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACrC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;IAChE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACrC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAA;IAC7D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAClE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,eAAe,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;IACvD,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC3C,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACnC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CACjB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,SAAS,CAAC,EAAE,KAAK,CAAA;CAClB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,YAAY,CAAC,GAC1E,0BAA0B,GAAG;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,iBAAiB,CAAC,EAAE,KAAK,CAAA;CAC1B,CAAA;AAEH,MAAM,MAAM,wBAAwB,GAClC,yBAAyB,CAAC,oBAAoB,CAAC,GAC7C,0BAA0B,GAAG;IAC3B,WAAW,EAAE,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAA;CAC7D,CAAA;AAEL,MAAM,MAAM,2BAA2B,GAAG,yBAAyB,CACjE,eAAe,CAAC,YAAY,CAAC,CAC9B,GACC,yBAAyB,GAAG;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,iBAAiB,CAAC,EAAE,KAAK,CAAA;CAC1B,CAAA;AAEH,MAAM,MAAM,6BAA6B,GACvC,yBAAyB,CAAC,oBAAoB,CAAC,GAC7C,yBAAyB,GAAG;IAC1B,WAAW,EAAE,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,OAAO,CAAA;CAC3E,CAAA;AAEL,MAAM,MAAM,wBAAwB,GAChC,2BAA2B,GAC3B,6BAA6B,CAAA;AAEjC,MAAM,MAAM,mBAAmB,GAC3B,sBAAsB,GACtB,wBAAwB,GACxB,wBAAwB,CAAA;AAE5B,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAA;AAsTjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAAA;AACvE,wBAAgB,UAAU,CAAC,KAAK,EAAE,wBAAwB,GAAG,YAAY,CAAA;AACzE,wBAAgB,UAAU,CAAC,KAAK,EAAE,2BAA2B,GAAG,YAAY,CAAA;AAC5E,wBAAgB,UAAU,CAAC,KAAK,EAAE,6BAA6B,GAAG,YAAY,CAAA;yBAA9D,UAAU;wDAkavB,oBAAoB;0DA+BpB,sBAAsB;kFAsCtB,uBAAuB;uDA0FvB,6BAA6B;6FA4B7B,sBAAsB;2GAwCtB,2BAA2B;yEA6C3B,yBAAyB;gDA6BzB,sBAAsB;iDA0BtB,uBAAuB;0EAycvB,0BAA0B;+CA6K1B,qBAAqB;+GA4BrB,4BAA4B;0HA2C5B,6BAA6B;;;;AA7gChC,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG;IACrE,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;CAC5B,CAAA;AA6BD,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IACrE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B,CAAA;AA4BD,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,wBAAwB,CAAC,KAAK,CAAC,EAC/B,UAAU,CACX,GAAG;IACF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AA2FD,MAAM,MAAM,6BAA6B,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IAC5E,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B,CAAA;AAoBD,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG;IACjD,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B,CAAA;AAqCD,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG;IACtD,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B,CAAA;AA+CD,MAAM,MAAM,yBAAyB,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IACxE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B,CAAA;AA6BD,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IACrE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B,CAAA;AAqBD,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,wBAAwB,CAAC,KAAK,CAAC,EAC/B,UAAU,CACX,GAAG;IACF,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B,CAAA;AAgcD,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,wBAAwB,CAAC,KAAK,CAAC,EAC/B,UAAU,CACX,GAAG;IACF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AA6KD,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IACpE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B,CAAA;AAoBD,MAAM,MAAM,4BAA4B,GAAG,WAAW,GAAG;IACvD,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B,CAAA;AAwCD,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG;IACxD,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B,CAAA"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Tour — @techsio/ui-kit molecule.
3
+ *
4
+ * @component Tour
5
+ * @componentVersion v1.0.2
6
+ * @skill tour-usage
7
+ * @changelog libs/ui/stories/changelog/changelog.stories.tsx
8
+ */
9
+ import { type PropTypes } from "@zag-js/react";
10
+ import { type Api, type Props, type StepActionFn, type StepActionType, type StepDetails } from "@zag-js/tour";
11
+ import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from "react";
12
+ import { type ActionIconProps } from "../atoms/action-icon.js";
13
+ import { type ButtonProps } from "../atoms/button.js";
14
+ export type TourStep = Omit<StepDetails, "title" | "description"> & {
15
+ title: ReactNode;
16
+ description: ReactNode;
17
+ };
18
+ export type TourAction = StepActionType | StepActionFn;
19
+ export type TourApi = Omit<Api<PropTypes>, "step" | "addStep" | "updateStep" | "setSteps"> & {
20
+ step: TourStep | null;
21
+ addStep: (step: TourStep) => void;
22
+ updateStep: (id: string, step: Partial<TourStep>) => void;
23
+ setSteps: (steps: TourStep[]) => void;
24
+ };
25
+ export type TourRootProps = Omit<Props, "id" | "steps" | "stepId"> & {
26
+ children: ReactNode;
27
+ id?: string;
28
+ /** Initial steps. Use the context API's setSteps to replace a running tour. */
29
+ steps: TourStep[];
30
+ };
31
+ export declare function Tour({ children, getRootNode, id, onStatusChange, steps, ...props }: TourRootProps): import("react/jsx-runtime").JSX.Element;
32
+ export declare namespace Tour {
33
+ var Context: ({ children }: TourContextProps) => ReactNode;
34
+ var Trigger: ({ disabled, onClick, stepId, type, ...props }: TourTriggerProps) => import("react/jsx-runtime").JSX.Element;
35
+ var Portal: (props: import("react").PropsWithChildren<import("@zag-js/react").PortalProps>) => import("react").JSX.Element;
36
+ var Backdrop: ({ className, ref, ...props }: TourPartProps) => import("react/jsx-runtime").JSX.Element | null;
37
+ var Spotlight: ({ className, ref, ...props }: TourPartProps) => import("react/jsx-runtime").JSX.Element | null;
38
+ var Positioner: ({ className, ref, ...props }: TourPartProps) => import("react/jsx-runtime").JSX.Element | null;
39
+ var Content: ({ className, ref, ...props }: TourPartProps) => import("react/jsx-runtime").JSX.Element;
40
+ var Arrow: ({ children, className, ref, ...props }: TourPartProps) => import("react/jsx-runtime").JSX.Element | null;
41
+ var ArrowTip: ({ className, ref, ...props }: TourPartProps) => import("react/jsx-runtime").JSX.Element;
42
+ var Title: ({ children, className, ref, ...props }: TourPartProps) => import("react/jsx-runtime").JSX.Element;
43
+ var Description: ({ children, className, ref, ...props }: TourPartProps) => import("react/jsx-runtime").JSX.Element;
44
+ var ProgressText: ({ children, className, ref, ...props }: TourProgressTextProps) => import("react/jsx-runtime").JSX.Element;
45
+ var Actions: ({ className, ref, ...props }: TourPartProps) => import("react/jsx-runtime").JSX.Element;
46
+ var ActionTrigger: ({ action, children, disabled, onClick, type, ...props }: TourActionTriggerProps) => import("react/jsx-runtime").JSX.Element;
47
+ var CloseTrigger: ({ className, icon, onClick, ref, ...props }: TourCloseTriggerProps) => import("react/jsx-runtime").JSX.Element;
48
+ var Root: typeof Tour;
49
+ var displayName: string;
50
+ }
51
+ export type TourContextProps = {
52
+ children: (api: TourApi) => ReactNode;
53
+ };
54
+ export type TourTriggerProps = ButtonProps & {
55
+ ref?: Ref<HTMLButtonElement>;
56
+ /** Start at this step instead of the first one. */
57
+ stepId?: string;
58
+ };
59
+ export type TourPartProps = ComponentPropsWithoutRef<"div"> & {
60
+ ref?: Ref<HTMLDivElement>;
61
+ };
62
+ export type TourProgressTextProps = ComponentPropsWithoutRef<"span"> & {
63
+ ref?: Ref<HTMLSpanElement>;
64
+ };
65
+ export type TourActionTriggerProps = Omit<ButtonProps, "action"> & {
66
+ action: TourAction;
67
+ ref?: Ref<HTMLButtonElement>;
68
+ };
69
+ export type TourCloseTriggerProps = Omit<ActionIconProps, "icon"> & {
70
+ icon?: ActionIconProps["icon"];
71
+ };
72
+ //# sourceMappingURL=tour.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tour.d.ts","sourceRoot":"","sources":["../../../src/molecules/tour.tsx"],"names":[],"mappings":"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"}
@@ -19,5 +19,6 @@ export type * as Switch from "@zag-js/switch";
19
19
  export type * as Tabs from "@zag-js/tabs";
20
20
  export type * as Toast from "@zag-js/toast";
21
21
  export type * as Tooltip from "@zag-js/tooltip";
22
+ export type * as Tour from "@zag-js/tour";
22
23
  export type * as TreeView from "@zag-js/tree-view";
23
24
  //# sourceMappingURL=zag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zag.d.ts","sourceRoot":"","sources":["../../../src/types/zag.ts"],"names":[],"mappings":"AAAA,YAAY,KAAK,SAAS,MAAM,mBAAmB,CAAA;AACnD,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,aAAa,MAAM,wBAAwB,CAAA;AAC5D,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACxD,YAAY,KAAK,UAAU,MAAM,oBAAoB,CAAA;AACrD,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,YAAY,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACxD,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,KAAK,MAAM,eAAe,CAAA;AAC3C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,KAAK,MAAM,eAAe,CAAA;AAC3C,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,QAAQ,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"zag.d.ts","sourceRoot":"","sources":["../../../src/types/zag.ts"],"names":[],"mappings":"AAAA,YAAY,KAAK,SAAS,MAAM,mBAAmB,CAAA;AACnD,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,aAAa,MAAM,wBAAwB,CAAA;AAC5D,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AACjD,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACxD,YAAY,KAAK,UAAU,MAAM,oBAAoB,CAAA;AACrD,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,YAAY,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACxD,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,KAAK,MAAM,eAAe,CAAA;AAC3C,YAAY,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAC7C,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,KAAK,MAAM,eAAe,CAAA;AAC3C,YAAY,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC/C,YAAY,KAAK,IAAI,MAAM,cAAc,CAAA;AACzC,YAAY,KAAK,QAAQ,MAAM,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
2
  declare function Changelog(): import("react/jsx-runtime").JSX.Element;
3
3
  declare const meta: Meta<typeof Changelog>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"changelog.stories.d.ts","sourceRoot":"","sources":["../../../stories/changelog/changelog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AA+LtD,iBAAS,SAAS,4CAUjB;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAKhC,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,OAAO,SAAS,CAAM,CAAA"}
1
+ {"version":3,"file":"changelog.stories.d.ts","sourceRoot":"","sources":["../../../stories/changelog/changelog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AA8MtD,iBAAS,SAAS,4CAUjB;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAKhC,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,OAAO,SAAS,CAAM,CAAA"}