@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.
- package/dist/internal/date-picker-coordinator.js +166 -0
- package/dist/molecules/date-picker.js +1374 -0
- package/dist/molecules/tour.js +318 -0
- package/dist/src/internal/date-picker-coordinator.d.ts +42 -0
- package/dist/src/internal/date-picker-coordinator.d.ts.map +1 -0
- package/dist/src/molecules/date-picker.d.ts +159 -0
- package/dist/src/molecules/date-picker.d.ts.map +1 -0
- package/dist/src/molecules/tour.d.ts +72 -0
- package/dist/src/molecules/tour.d.ts.map +1 -0
- package/dist/src/types/zag.d.ts +1 -0
- package/dist/src/types/zag.d.ts.map +1 -1
- package/dist/stories/changelog/changelog.stories.d.ts +1 -1
- package/dist/stories/changelog/changelog.stories.d.ts.map +1 -1
- package/dist/stories/molecules/date-picker.stories.d.ts +141 -0
- package/dist/stories/molecules/date-picker.stories.d.ts.map +1 -0
- package/dist/stories/molecules/tour.stories.d.ts +58 -0
- package/dist/stories/molecules/tour.stories.d.ts.map +1 -0
- package/dist/test/date-picker.behavior.spec.d.ts +2 -0
- package/dist/test/date-picker.behavior.spec.d.ts.map +1 -0
- package/dist/test/tour.playwright.config.d.ts +4 -0
- package/dist/test/tour.playwright.config.d.ts.map +1 -0
- package/dist/test/tour.spec.d.ts +2 -0
- package/dist/test/tour.spec.d.ts.map +1 -0
- package/dist/test/tour.typecheck.d.ts +11 -0
- package/dist/test/tour.typecheck.d.ts.map +1 -0
- package/package.json +11 -3
- package/src/tokens/components/components.css +2 -0
- package/src/tokens/components/molecules/_date-picker.css +225 -0
- package/src/tokens/components/molecules/_tour.css +121 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import type { StoryObj } from "@storybook/react";
|
|
2
|
+
import { type DatePickerGranularity, type DatePickerDayRootProps, type DatePickerOpenChangeDetails, type DatePickerSelectionMode, type DatePickerSize } from "../../src/molecules/date-picker.js";
|
|
3
|
+
type DatePickerPlaygroundArgs = {
|
|
4
|
+
defaultOpen: boolean;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
flip: boolean;
|
|
7
|
+
granularity: DatePickerGranularity;
|
|
8
|
+
hideTimeZone: boolean;
|
|
9
|
+
hourCycle: 12 | 24;
|
|
10
|
+
initialValue: "empty" | "preset";
|
|
11
|
+
invalid: boolean;
|
|
12
|
+
locale: string;
|
|
13
|
+
numOfMonths: "auto" | 1 | 2;
|
|
14
|
+
onOpenChange?: (details: DatePickerOpenChangeDetails) => void;
|
|
15
|
+
onValueChange?: (details: {
|
|
16
|
+
value: unknown;
|
|
17
|
+
valueAsString: unknown;
|
|
18
|
+
}) => void;
|
|
19
|
+
offset: number;
|
|
20
|
+
placement: NonNullable<DatePickerDayRootProps["placement"]>;
|
|
21
|
+
readOnly: boolean;
|
|
22
|
+
required: boolean;
|
|
23
|
+
selectionMode: DatePickerSelectionMode;
|
|
24
|
+
shouldForceLeadingZeros: boolean;
|
|
25
|
+
size: DatePickerSize;
|
|
26
|
+
slide: boolean;
|
|
27
|
+
startOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
28
|
+
useDateBounds: boolean;
|
|
29
|
+
useUnavailableDate: boolean;
|
|
30
|
+
useUnavailableTime: boolean;
|
|
31
|
+
valueKind: "floating" | "zoned";
|
|
32
|
+
};
|
|
33
|
+
declare const meta: {
|
|
34
|
+
title: string;
|
|
35
|
+
component: import("react").FunctionComponent<DatePickerDayRootProps>;
|
|
36
|
+
subcomponents: {
|
|
37
|
+
Label: ({ children, className, ref, ...props }: import("../../src/molecules/date-picker.js").DatePickerLabelProps) => import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
Control: ({ children, className, ref, ...props }: import("../../src/molecules/date-picker.js").DatePickerControlProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
Segments: ({ className, endLabel, ref, separator, startLabel, ...props }: import("../../src/molecules/date-picker.js").DatePickerSegmentsProps) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
IndicatorGroup: ({ className, ref, ...props }: import("../../src/molecules/date-picker.js").DatePickerIndicatorGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
Trigger: ({ children, className, icon, iconSize, ref, size, theme, type, ...props }: import("../../src/molecules/date-picker.js").DatePickerTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
ClearTrigger: ({ children, className, icon, iconSize, onClick, ref, size, theme, type, ...props }: import("../../src/molecules/date-picker.js").DatePickerClearTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
Positioner: ({ children, className, forceMount, ref, ...props }: import("../../src/molecules/date-picker.js").DatePickerPositionerProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
44
|
+
Content: ({ className, ref, ...props }: import("../../src/molecules/date-picker.js").DatePickerContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
Calendar: ({ className, ref, ...props }: import("../../src/molecules/date-picker.js").DatePickerCalendarProps) => import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
TimeControl: ({ className, endLabel, ref, startLabel, ...props }: import("../../src/molecules/date-picker.js").DatePickerTimeControlProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
47
|
+
Footer: ({ className, ref, ...props }: import("../../src/molecules/date-picker.js").DatePickerFooterProps) => import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
CancelTrigger: ({ children, className, onClick, ref, size: sizeProp, theme, type, variant, ...props }: import("../../src/molecules/date-picker.js").DatePickerCancelTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
ConfirmTrigger: ({ children, className, disabled, onClick, ref, size: sizeProp, theme, type, variant, ...props }: import("../../src/molecules/date-picker.js").DatePickerConfirmTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
};
|
|
51
|
+
tags: string[];
|
|
52
|
+
parameters: {
|
|
53
|
+
layout: string;
|
|
54
|
+
controls: {
|
|
55
|
+
include: string[];
|
|
56
|
+
};
|
|
57
|
+
docs: {
|
|
58
|
+
description: {
|
|
59
|
+
component: string;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
argTypes: {
|
|
64
|
+
children: {
|
|
65
|
+
control: false;
|
|
66
|
+
table: {
|
|
67
|
+
disable: true;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
size: {
|
|
71
|
+
control: "select";
|
|
72
|
+
options: string[];
|
|
73
|
+
description: string;
|
|
74
|
+
table: {
|
|
75
|
+
defaultValue: {
|
|
76
|
+
summary: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
locale: {
|
|
81
|
+
control: "select";
|
|
82
|
+
options: string[];
|
|
83
|
+
description: string;
|
|
84
|
+
table: {
|
|
85
|
+
defaultValue: {
|
|
86
|
+
summary: string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
disabled: {
|
|
91
|
+
control: "boolean";
|
|
92
|
+
};
|
|
93
|
+
readOnly: {
|
|
94
|
+
control: "boolean";
|
|
95
|
+
};
|
|
96
|
+
invalid: {
|
|
97
|
+
control: "boolean";
|
|
98
|
+
};
|
|
99
|
+
required: {
|
|
100
|
+
control: "boolean";
|
|
101
|
+
};
|
|
102
|
+
onOpenChange: {
|
|
103
|
+
control: false;
|
|
104
|
+
};
|
|
105
|
+
onValueChange: {
|
|
106
|
+
control: false;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
args: {
|
|
110
|
+
children: null;
|
|
111
|
+
disabled: false;
|
|
112
|
+
invalid: false;
|
|
113
|
+
locale: string;
|
|
114
|
+
onOpenChange: import("storybook/test").Mock<(...args: any[]) => any>;
|
|
115
|
+
onValueChange: import("storybook/test").Mock<(...args: any[]) => any>;
|
|
116
|
+
readOnly: false;
|
|
117
|
+
required: false;
|
|
118
|
+
size: "md";
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
export default meta;
|
|
122
|
+
type Story = StoryObj<typeof meta>;
|
|
123
|
+
export declare const Playground: StoryObj<DatePickerPlaygroundArgs>;
|
|
124
|
+
export declare const Sizes: Story;
|
|
125
|
+
export declare const States: Story;
|
|
126
|
+
export declare const DateOnlyCalendar: Story;
|
|
127
|
+
export declare const DateRangeCalendar: Story;
|
|
128
|
+
export declare const ControlledDateRange: Story;
|
|
129
|
+
export declare const RejectingControlledDateRange: Story;
|
|
130
|
+
export declare const RangeFormSerialization: Story;
|
|
131
|
+
export declare const LocalizedUnavailableRange: Story;
|
|
132
|
+
export declare const TransactionalTimeGranularities: Story;
|
|
133
|
+
export declare const InitiallyOpenTimedDraft: Story;
|
|
134
|
+
export declare const InitiallyOpenDateTimeRange: Story;
|
|
135
|
+
export declare const ZonedDateTimeRange: Story;
|
|
136
|
+
export declare const ControlledTimedResync: Story;
|
|
137
|
+
export declare const ControlledParentBehaviors: Story;
|
|
138
|
+
export declare const ClearAndFormSerialization: Story;
|
|
139
|
+
export declare const LocalesAndLongLabels: Story;
|
|
140
|
+
export declare const TypedDateTimeValues: Story;
|
|
141
|
+
//# sourceMappingURL=date-picker.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.stories.d.ts","sourceRoot":"","sources":["../../../stories/molecules/date-picker.stories.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EAEN,KAAK,qBAAqB,EAE1B,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAEhC,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EAInB,MAAM,iCAAiC,CAAA;AAkHxC,KAAK,wBAAwB,GAAG;IAC/B,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,qBAAqB,CAAA;IAClC,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,EAAE,GAAG,EAAE,CAAA;IAClB,YAAY,EAAE,OAAO,GAAG,QAAQ,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAA;IAC7D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE;QACzB,KAAK,EAAE,OAAO,CAAA;QACd,aAAa,EAAE,OAAO,CAAA;KACtB,KAAK,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,WAAW,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAA;IAC3D,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,uBAAuB,CAAA;IACtC,uBAAuB,EAAE,OAAO,CAAA;IAChC,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACtC,aAAa,EAAE,OAAO,CAAA;IACtB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,SAAS,EAAE,UAAU,GAAG,OAAO,CAAA;CAC/B,CAAA;AA0MD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEgC,CAAA;AAE1C,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,wBAAwB,CA8MzD,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KA8BnB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAuBpB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAqB9B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KA2B/B,CAAA;AAuBD,eAAO,MAAM,mBAAmB,EAAE,KAIjC,CAAA;AA+BD,eAAO,MAAM,4BAA4B,EAAE,KAI1C,CAAA;AAgCD,eAAO,MAAM,sBAAsB,EAAE,KAIpC,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KA6BvC,CAAA;AAED,eAAO,MAAM,8BAA8B,EAAE,KA0B5C,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,KAuBrC,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,KA6BxC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAkBhC,CAAA;AAkCD,eAAO,MAAM,qBAAqB,EAAE,KAInC,CAAA;AAwCD,eAAO,MAAM,yBAAyB,EAAE,KAevC,CAAA;AA6BD,eAAO,MAAM,yBAAyB,EAAE,KAGvC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KA2BlC,CAAA;AAMD,eAAO,MAAM,mBAAmB,EAAE,KAqBjC,CAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { StoryObj } from "@storybook/react";
|
|
2
|
+
import { Tour, type TourStep } from "../../src/molecules/tour.js";
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof Tour;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
controls: {
|
|
10
|
+
include: string[];
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
argTypes: {
|
|
14
|
+
closeOnEscape: {
|
|
15
|
+
control: "boolean";
|
|
16
|
+
};
|
|
17
|
+
closeOnInteractOutside: {
|
|
18
|
+
control: "boolean";
|
|
19
|
+
};
|
|
20
|
+
preventInteraction: {
|
|
21
|
+
control: "boolean";
|
|
22
|
+
};
|
|
23
|
+
keyboardNavigation: {
|
|
24
|
+
control: "boolean";
|
|
25
|
+
};
|
|
26
|
+
dir: {
|
|
27
|
+
control: "select";
|
|
28
|
+
options: string[];
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
args: {
|
|
32
|
+
steps: never[];
|
|
33
|
+
children: null;
|
|
34
|
+
closeOnEscape: true;
|
|
35
|
+
closeOnInteractOutside: true;
|
|
36
|
+
preventInteraction: false;
|
|
37
|
+
keyboardNavigation: true;
|
|
38
|
+
dir: "ltr";
|
|
39
|
+
onStatusChange: import("storybook/test").Mock<(...args: any[]) => any>;
|
|
40
|
+
onStepChange: import("storybook/test").Mock<(...args: any[]) => any>;
|
|
41
|
+
};
|
|
42
|
+
render: (args: Omit<import("@zag-js/tour").Props, "id" | "steps" | "stepId"> & {
|
|
43
|
+
children: import("react").ReactNode;
|
|
44
|
+
id?: string;
|
|
45
|
+
steps: TourStep[];
|
|
46
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
};
|
|
48
|
+
export default meta;
|
|
49
|
+
type Story = StoryObj<typeof meta>;
|
|
50
|
+
export declare const Playground: Story;
|
|
51
|
+
export declare const LateTarget: Story;
|
|
52
|
+
export declare const InteractiveWait: Story;
|
|
53
|
+
export declare const FloatingPlacements: Story;
|
|
54
|
+
export declare const CustomControls: Story;
|
|
55
|
+
export declare const LongContent: Story;
|
|
56
|
+
export declare const UnmountDuringWait: Story;
|
|
57
|
+
export declare const ScrollTarget: Story;
|
|
58
|
+
//# sourceMappingURL=tour.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tour.stories.d.ts","sourceRoot":"","sources":["../../../stories/molecules/tour.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EACL,IAAI,EAEJ,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAA;AA0FjC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCmB,CAAA;AAE7B,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,UAAU,EAAE,KAAU,CAAA;AA0DnC,eAAO,MAAM,UAAU,EAAE,KAExB,CAAA;AA4ED,eAAO,MAAM,eAAe,EAAE,KAE7B,CAAA;AAkBD,eAAO,MAAM,kBAAkB,EAAE,KAsBhC,CAAA;AAgGD,eAAO,MAAM,cAAc,EAAE,KAE5B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAqCzB,CAAA;AAgCD,eAAO,MAAM,iBAAiB,EAAE,KAG/B,CAAA;AA4BD,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.behavior.spec.d.ts","sourceRoot":"","sources":["../../test/date-picker.behavior.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tour.playwright.config.d.ts","sourceRoot":"","sources":["../../test/tour.playwright.config.ts"],"names":[],"mappings":"AAEA,oEAAoE;;AACpE,wBAeE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tour.spec.d.ts","sourceRoot":"","sources":["../../test/tour.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type TourApi, type TourStep } from "../src/molecules/tour.js";
|
|
2
|
+
export declare const tourSteps: TourStep[];
|
|
3
|
+
export declare const tourContract: import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const triggerRefContract: import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare const actionRefContract: import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const invalidActionContract: import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const invalidControlledContract: import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const invalidTimeoutContract: import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export type InvalidDismissContract = TourApi["dismiss"];
|
|
10
|
+
export type InvalidSkipContract = TourApi["skip"];
|
|
11
|
+
//# sourceMappingURL=tour.typecheck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tour.typecheck.d.ts","sourceRoot":"","sources":["../../test/tour.typecheck.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEzE,eAAO,MAAM,SAAS,EAAE,QAAQ,EAO/B,CAAA;AAED,eAAO,MAAM,YAAY,yCAiBxB,CAAA;AAGD,eAAO,MAAM,kBAAkB,yCAE9B,CAAA;AACD,eAAO,MAAM,iBAAiB,yCAI7B,CAAA;AAED,eAAO,MAAM,qBAAqB,yCAGjC,CAAA;AAED,eAAO,MAAM,yBAAyB,yCAKrC,CAAA;AAED,eAAO,MAAM,sBAAsB,yCAKlC,CAAA;AAGD,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAGvD,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@techsio/ui-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"storybook": "storybook dev",
|
|
71
71
|
"figma:connect:parse": "figma connect parse --config figma.config.json",
|
|
72
72
|
"figma:connect:publish": "figma connect publish --config figma.config.json",
|
|
73
|
+
"test": "vitest run --config vitest.config.ts",
|
|
73
74
|
"test-storybook": "test-storybook",
|
|
74
75
|
"storybook:a11y": "bash scripts/storybook-a11y.sh",
|
|
75
76
|
"test:components": "node scripts/run-component-tests.mjs",
|
|
@@ -82,7 +83,8 @@
|
|
|
82
83
|
"validate:tokens": "bun scripts/validate-token-usage.js && bun scripts/validate-token-definitions.js",
|
|
83
84
|
"validate:token-usage": "bun scripts/validate-token-usage.js",
|
|
84
85
|
"validate:token-definitions": "bun scripts/validate-token-definitions.js",
|
|
85
|
-
"semantic-release": "semantic-release"
|
|
86
|
+
"semantic-release": "semantic-release",
|
|
87
|
+
"typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.tests.json"
|
|
86
88
|
},
|
|
87
89
|
"dependencies": {
|
|
88
90
|
"@dnd-kit/core": "^6.3.1",
|
|
@@ -93,6 +95,7 @@
|
|
|
93
95
|
"@iconify-json/mdi-light": "^1.2.2",
|
|
94
96
|
"@iconify-json/svg-spinners": "^1.2.4",
|
|
95
97
|
"@iconify/tailwind4": "^1.1.0",
|
|
98
|
+
"@internationalized/date": "^3.12.2",
|
|
96
99
|
"@tanstack/charts": "^0.6.5",
|
|
97
100
|
"@tanstack/charts-scales": "^0.6.5",
|
|
98
101
|
"@tanstack/react-charts": "^0.6.5",
|
|
@@ -103,6 +106,8 @@
|
|
|
103
106
|
"@zag-js/cascade-select": "1.43.3",
|
|
104
107
|
"@zag-js/checkbox": "1.43.3",
|
|
105
108
|
"@zag-js/combobox": "1.43.3",
|
|
109
|
+
"@zag-js/date-input": "1.43.3",
|
|
110
|
+
"@zag-js/date-picker": "1.43.3",
|
|
106
111
|
"@zag-js/dialog": "1.43.3",
|
|
107
112
|
"@zag-js/drawer": "1.43.3",
|
|
108
113
|
"@zag-js/file-upload": "1.43.3",
|
|
@@ -122,6 +127,7 @@
|
|
|
122
127
|
"@zag-js/tabs": "1.43.3",
|
|
123
128
|
"@zag-js/toast": "1.43.3",
|
|
124
129
|
"@zag-js/tooltip": "1.43.3",
|
|
130
|
+
"@zag-js/tour": "1.43.3",
|
|
125
131
|
"@zag-js/tree-view": "1.43.3",
|
|
126
132
|
"better-themes": "^1.1.0",
|
|
127
133
|
"d3-scale": "^4.0.2",
|
|
@@ -166,7 +172,9 @@
|
|
|
166
172
|
"storybook-addon-rslib": "^3.4.2",
|
|
167
173
|
"storybook-react-rsbuild": "^3.4.2",
|
|
168
174
|
"tailwindcss": "^4.1.17",
|
|
169
|
-
"typescript": "^5.9.3"
|
|
175
|
+
"typescript": "^5.9.3",
|
|
176
|
+
"vite": "catalog:vite5-testing",
|
|
177
|
+
"vitest": "catalog:vite5-testing"
|
|
170
178
|
},
|
|
171
179
|
"peerDependencies": {
|
|
172
180
|
"@types/react": ">=19.2.0",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
@import "./molecules/_chart.css";
|
|
24
24
|
@import "./molecules/_color-select.css";
|
|
25
25
|
@import "./molecules/_combobox.css";
|
|
26
|
+
@import "./molecules/_date-picker.css";
|
|
26
27
|
@import "./molecules/_dialog.css";
|
|
27
28
|
@import "./molecules/_drawer.css";
|
|
28
29
|
@import "./molecules/_file-upload.css";
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
@import "./molecules/_steps.css";
|
|
40
41
|
@import "./molecules/_switch.css";
|
|
41
42
|
@import "./molecules/_toast.css";
|
|
43
|
+
@import "./molecules/_tour.css";
|
|
42
44
|
@import "./molecules/_tree-view.css";
|
|
43
45
|
|
|
44
46
|
@import "./organisms/_table.css";
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DatePicker — compact segmented field and calendar surface.
|
|
3
|
+
*
|
|
4
|
+
* The reference layer binds the component to shared form-control and semantic
|
|
5
|
+
* foundations. The derived layer is the only DatePicker palette consumed by
|
|
6
|
+
* the component source.
|
|
7
|
+
*/
|
|
8
|
+
@theme static {
|
|
9
|
+
/* Reference layer */
|
|
10
|
+
--color-date-picker-surface: var(--color-fill-overlay);
|
|
11
|
+
--color-date-picker-fill: var(--color-form-control-bg);
|
|
12
|
+
--color-date-picker-fill-hover: var(--color-form-control-bg-hover);
|
|
13
|
+
--color-date-picker-fill-active: var(--color-form-control-bg-focus);
|
|
14
|
+
--color-date-picker-accent: var(--color-bg-primary-base);
|
|
15
|
+
--color-date-picker-accent-hover: var(--color-bg-primary-hover);
|
|
16
|
+
--color-date-picker-accent-foreground: var(--color-fg-light);
|
|
17
|
+
--color-date-picker-text: var(--color-fg-primary);
|
|
18
|
+
--color-date-picker-text-muted: var(--color-fg-secondary);
|
|
19
|
+
--color-date-picker-placeholder: var(--color-form-control-fg-placeholder);
|
|
20
|
+
--color-date-picker-disabled: var(--color-form-control-fg-disabled);
|
|
21
|
+
--color-date-picker-border: var(--color-form-control-border);
|
|
22
|
+
--color-date-picker-border-hover: var(--color-form-control-border-hover);
|
|
23
|
+
--color-date-picker-focus: var(--color-form-control-border-focus);
|
|
24
|
+
--color-date-picker-ring: var(--color-form-control-ring);
|
|
25
|
+
--color-date-picker-error: var(--color-danger);
|
|
26
|
+
--color-date-picker-error-hover: var(--color-border-danger-hover);
|
|
27
|
+
--color-date-picker-error-focus: var(--color-border-danger-focus);
|
|
28
|
+
--color-date-picker-range: color-mix(
|
|
29
|
+
in oklab,
|
|
30
|
+
var(--color-date-picker-accent) 20%,
|
|
31
|
+
transparent
|
|
32
|
+
);
|
|
33
|
+
--color-date-picker-transparent: var(--color-bg-transparent);
|
|
34
|
+
|
|
35
|
+
/* Derived color layer */
|
|
36
|
+
--color-date-picker-label-fg: var(--color-date-picker-text);
|
|
37
|
+
--color-date-picker-control-bg: var(--color-date-picker-fill);
|
|
38
|
+
--color-date-picker-control-bg-hover: var(--color-date-picker-fill-hover);
|
|
39
|
+
--color-date-picker-control-bg-focus: var(--color-date-picker-fill-active);
|
|
40
|
+
--color-date-picker-control-bg-readonly: var(--color-date-picker-fill);
|
|
41
|
+
--color-date-picker-control-bg-disabled: var(
|
|
42
|
+
--color-form-control-bg-disabled
|
|
43
|
+
);
|
|
44
|
+
--color-date-picker-control-fg: var(--color-date-picker-text);
|
|
45
|
+
--color-date-picker-control-fg-disabled: var(--color-date-picker-disabled);
|
|
46
|
+
--color-date-picker-control-border: var(--color-date-picker-border);
|
|
47
|
+
--color-date-picker-control-border-hover: var(
|
|
48
|
+
--color-date-picker-border-hover
|
|
49
|
+
);
|
|
50
|
+
--color-date-picker-control-border-focus: var(--color-date-picker-focus);
|
|
51
|
+
--color-date-picker-control-border-error: var(--color-date-picker-error);
|
|
52
|
+
--color-date-picker-control-border-error-hover: var(
|
|
53
|
+
--color-date-picker-error-hover
|
|
54
|
+
);
|
|
55
|
+
--color-date-picker-control-border-error-focus: var(
|
|
56
|
+
--color-date-picker-error-focus
|
|
57
|
+
);
|
|
58
|
+
--color-date-picker-control-border-disabled: var(
|
|
59
|
+
--color-form-control-border-disabled
|
|
60
|
+
);
|
|
61
|
+
--color-date-picker-control-ring: var(--color-date-picker-ring);
|
|
62
|
+
--color-date-picker-segment-bg-focus: var(--color-date-picker-fill-hover);
|
|
63
|
+
--color-date-picker-segment-fg-placeholder: var(
|
|
64
|
+
--color-date-picker-placeholder
|
|
65
|
+
);
|
|
66
|
+
--color-date-picker-range-separator-fg: var(--color-date-picker-text-muted);
|
|
67
|
+
--color-date-picker-trigger-bg: var(--color-date-picker-fill);
|
|
68
|
+
--color-date-picker-trigger-bg-hover: var(--color-date-picker-fill-hover);
|
|
69
|
+
--color-date-picker-trigger-bg-active: var(--color-date-picker-fill-active);
|
|
70
|
+
--color-date-picker-trigger-fg: var(--color-date-picker-text);
|
|
71
|
+
--color-date-picker-trigger-fg-disabled: var(--color-date-picker-disabled);
|
|
72
|
+
--color-date-picker-trigger-ring: var(--color-date-picker-ring);
|
|
73
|
+
--color-date-picker-content-bg: var(--color-date-picker-surface);
|
|
74
|
+
--color-date-picker-content-fg: var(--color-date-picker-text);
|
|
75
|
+
--color-date-picker-content-border: var(--color-date-picker-border);
|
|
76
|
+
--color-date-picker-navigation-bg-hover: var(--color-date-picker-fill-hover);
|
|
77
|
+
--color-date-picker-navigation-fg: var(--color-date-picker-text);
|
|
78
|
+
--color-date-picker-navigation-fg-disabled: var(--color-date-picker-disabled);
|
|
79
|
+
--color-date-picker-navigation-ring: var(--color-date-picker-ring);
|
|
80
|
+
--color-date-picker-weekday-fg: var(--color-date-picker-text);
|
|
81
|
+
--color-date-picker-day-bg: var(--color-date-picker-transparent);
|
|
82
|
+
--color-date-picker-day-bg-hover: var(--color-date-picker-fill-hover);
|
|
83
|
+
--color-date-picker-day-bg-range: var(--color-date-picker-range);
|
|
84
|
+
--color-date-picker-day-bg-range-hover: color-mix(
|
|
85
|
+
in oklab,
|
|
86
|
+
var(--color-date-picker-accent) 28%,
|
|
87
|
+
transparent
|
|
88
|
+
);
|
|
89
|
+
--color-date-picker-day-bg-selected: var(--color-date-picker-accent);
|
|
90
|
+
--color-date-picker-day-bg-selected-hover: var(
|
|
91
|
+
--color-date-picker-accent-hover
|
|
92
|
+
);
|
|
93
|
+
--color-date-picker-day-fg: var(--color-date-picker-text);
|
|
94
|
+
--color-date-picker-day-fg-selected: var(
|
|
95
|
+
--color-date-picker-accent-foreground
|
|
96
|
+
);
|
|
97
|
+
--color-date-picker-day-fg-unavailable: var(--color-date-picker-disabled);
|
|
98
|
+
--color-date-picker-day-border: var(--color-date-picker-transparent);
|
|
99
|
+
--color-date-picker-day-today-border: var(--color-date-picker-accent);
|
|
100
|
+
--color-date-picker-day-ring: var(--color-date-picker-ring);
|
|
101
|
+
--color-date-picker-time-bg: var(--color-date-picker-fill);
|
|
102
|
+
--color-date-picker-time-fg: var(--color-date-picker-text);
|
|
103
|
+
--color-date-picker-time-label-fg: var(--color-date-picker-text);
|
|
104
|
+
--color-date-picker-time-border: var(--color-date-picker-border);
|
|
105
|
+
--color-date-picker-time-ring: var(--color-date-picker-ring);
|
|
106
|
+
--color-date-picker-footer-border: var(--color-date-picker-border);
|
|
107
|
+
--color-date-picker-month-divider-border: var(--color-date-picker-border);
|
|
108
|
+
|
|
109
|
+
/* Geometry and density */
|
|
110
|
+
--border-width-date-picker-control: var(--border-width-form-control);
|
|
111
|
+
--border-width-date-picker-content: var(--border-sm);
|
|
112
|
+
--border-width-date-picker-day: var(--border-sm);
|
|
113
|
+
--border-width-date-picker-time: var(--border-width-form-control);
|
|
114
|
+
--radius-date-picker-control-sm: var(--radius-form-control-sm);
|
|
115
|
+
--radius-date-picker-control-md: var(--radius-form-control-md);
|
|
116
|
+
--radius-date-picker-control-lg: var(--radius-form-control-lg);
|
|
117
|
+
--radius-date-picker-content: var(--radius-popover);
|
|
118
|
+
--radius-date-picker-day: var(--radius-button-sm);
|
|
119
|
+
--radius-date-picker-time: var(--radius-form-control-sm);
|
|
120
|
+
--shadow-date-picker-content: var(--shadow-popover);
|
|
121
|
+
|
|
122
|
+
--gap-date-picker-root: var(--spacing-form-field-gap);
|
|
123
|
+
--gap-date-picker-control: var(--spacing-100);
|
|
124
|
+
--gap-date-picker-indicator: var(--spacing-50);
|
|
125
|
+
--gap-date-picker-calendar: var(--spacing-100);
|
|
126
|
+
--gap-date-picker-time: var(--spacing-100);
|
|
127
|
+
--gap-date-picker-footer: var(--spacing-100);
|
|
128
|
+
--spacing-date-picker-enter-offset: var(--spacing-50);
|
|
129
|
+
--padding-date-picker-segments-sm: var(--spacing-100);
|
|
130
|
+
--padding-date-picker-segments-md: var(--spacing-150);
|
|
131
|
+
--padding-date-picker-segments-lg: var(--spacing-200);
|
|
132
|
+
--padding-date-picker-segment: var(--spacing-50);
|
|
133
|
+
--padding-date-picker-range-separator: var(--spacing-100);
|
|
134
|
+
--padding-date-picker-content: var(--dimension-16);
|
|
135
|
+
--padding-date-picker-content-timed: var(--dimension-10);
|
|
136
|
+
--padding-date-picker-calendar-cell: var(--spacing-100);
|
|
137
|
+
--padding-date-picker-time-input: var(--spacing-50);
|
|
138
|
+
--padding-date-picker-time: var(--dimension-10);
|
|
139
|
+
--padding-date-picker-footer: var(--dimension-10);
|
|
140
|
+
|
|
141
|
+
--height-date-picker-control-sm: var(--height-form-control-sm);
|
|
142
|
+
--height-date-picker-control-md: var(--height-form-control-md);
|
|
143
|
+
--height-date-picker-control-lg: var(--height-form-control-lg);
|
|
144
|
+
--size-date-picker-navigation: var(--size-icon-control-md);
|
|
145
|
+
--size-date-picker-day-sm: var(--dimension-28);
|
|
146
|
+
--size-date-picker-day-md: var(--dimension-32);
|
|
147
|
+
--size-date-picker-day-lg: var(--dimension-36);
|
|
148
|
+
--size-date-picker-day-timed: var(--dimension-28);
|
|
149
|
+
--height-date-picker-day-sm: var(--size-date-picker-day-sm);
|
|
150
|
+
--height-date-picker-day-md: var(--size-date-picker-day-md);
|
|
151
|
+
--height-date-picker-day-lg: var(--size-date-picker-day-lg);
|
|
152
|
+
--height-date-picker-day-timed: var(--size-date-picker-day-timed);
|
|
153
|
+
--width-date-picker-content: calc(var(--dimension-40) * 7);
|
|
154
|
+
--width-date-picker-content-range: calc(
|
|
155
|
+
var(--width-date-picker-content) *
|
|
156
|
+
2 +
|
|
157
|
+
var(--gap-date-picker-calendar) +
|
|
158
|
+
var(--padding-date-picker-content) *
|
|
159
|
+
2
|
|
160
|
+
);
|
|
161
|
+
--container-date-picker-viewport: calc(100vw - var(--spacing-250) * 2);
|
|
162
|
+
--size-date-picker-segment: var(--dimension-24);
|
|
163
|
+
--height-date-picker-time-field: var(--height-form-control-sm);
|
|
164
|
+
--width-date-picker-time-field: var(--dimension-40);
|
|
165
|
+
|
|
166
|
+
--text-date-picker-sm: var(--text-sm);
|
|
167
|
+
--text-date-picker-md: var(--text-md);
|
|
168
|
+
--text-date-picker-lg: var(--text-lg);
|
|
169
|
+
--text-date-picker-content-sm: var(--text-xs);
|
|
170
|
+
--text-date-picker-content-md: var(--text-sm);
|
|
171
|
+
--text-date-picker-content-lg: var(--text-sm);
|
|
172
|
+
--text-date-picker-weekday: var(--text-xs);
|
|
173
|
+
--text-date-picker-time-label: var(--text-xs);
|
|
174
|
+
--font-weight-date-picker-view: var(--font-weight-medium);
|
|
175
|
+
--font-weight-date-picker-weekday: var(--font-weight-medium);
|
|
176
|
+
--opacity-date-picker-outside: var(--opacity-disabled);
|
|
177
|
+
--opacity-date-picker-disabled: var(--opacity-disabled);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@utility date-picker-scrollbar-hidden {
|
|
181
|
+
scrollbar-width: none;
|
|
182
|
+
|
|
183
|
+
&::-webkit-scrollbar {
|
|
184
|
+
display: none;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
@utility date-picker-segment-size {
|
|
189
|
+
min-width: var(--size-date-picker-segment);
|
|
190
|
+
min-height: var(--size-date-picker-segment);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
@utility token-icon-date-picker-calendar {
|
|
194
|
+
@apply icon-[mdi--calendar-blank-outline];
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@utility token-icon-date-picker-clear {
|
|
198
|
+
@apply token-icon-close;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@utility token-icon-date-picker-previous {
|
|
202
|
+
@apply token-icon-chevron-left;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@utility token-icon-date-picker-next {
|
|
206
|
+
@apply token-icon-chevron-right;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
@utility token-icon-date-picker-previous-year {
|
|
210
|
+
@apply icon-[mdi--chevron-double-left];
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
@utility token-icon-date-picker-next-year {
|
|
214
|
+
@apply icon-[mdi--chevron-double-right];
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
@utility token-date-picker-time-input {
|
|
218
|
+
appearance: textfield;
|
|
219
|
+
|
|
220
|
+
&::-webkit-inner-spin-button,
|
|
221
|
+
&::-webkit-outer-spin-button {
|
|
222
|
+
margin: 0;
|
|
223
|
+
appearance: none;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/* Code-owned until the explicitly deferred component-to-figma handoff. */
|
|
2
|
+
@theme static {
|
|
3
|
+
/* Reference layer */
|
|
4
|
+
--color-tour-surface: var(--color-fill-surface);
|
|
5
|
+
--color-tour-text: var(--color-fg-primary);
|
|
6
|
+
--color-tour-outline: var(--color-border-primary);
|
|
7
|
+
--color-tour-scrim: var(--color-bg-scrim);
|
|
8
|
+
|
|
9
|
+
/* Derived layer */
|
|
10
|
+
--color-tour-bg: var(--color-tour-surface);
|
|
11
|
+
--color-tour-fg: var(--color-tour-text);
|
|
12
|
+
--color-tour-description-fg: var(--color-tour-text);
|
|
13
|
+
--color-tour-progress-fg: var(--color-tour-text);
|
|
14
|
+
--color-tour-border: var(--color-tour-outline);
|
|
15
|
+
--color-tour-backdrop-bg: var(--color-tour-scrim);
|
|
16
|
+
--color-tour-arrow-bg: var(--color-tour-surface);
|
|
17
|
+
--color-tour-spotlight-border: var(--color-tour-text);
|
|
18
|
+
--border-width-tour: var(--border-width-sm);
|
|
19
|
+
--radius-tour: var(--radius-sm);
|
|
20
|
+
--shadow-tour: var(--shadow-primary);
|
|
21
|
+
--padding-tour: var(--dimension-20);
|
|
22
|
+
--padding-tour-actions: var(--dimension-6);
|
|
23
|
+
--spacing-tour-content: var(--dimension-10);
|
|
24
|
+
--spacing-tour-actions: var(--dimension-6);
|
|
25
|
+
--spacing-tour-close: var(--dimension-10);
|
|
26
|
+
--spacing-tour-title: var(--dimension-30);
|
|
27
|
+
--spacing-tour-arrow: var(--dimension-10);
|
|
28
|
+
--spacing-tour-viewport: var(--dimension-16);
|
|
29
|
+
--container-tour: var(--container-sm);
|
|
30
|
+
--text-tour-title-size: var(--text-lg);
|
|
31
|
+
--text-tour-body-size: var(--text-base);
|
|
32
|
+
--text-tour-progress-size: var(--text-base);
|
|
33
|
+
--font-weight-tour-title: var(--font-weight-semibold);
|
|
34
|
+
|
|
35
|
+
/* Runtime layer, not a Figma variable. */
|
|
36
|
+
--z-tour: 80;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@utility tour-layer {
|
|
40
|
+
/* Zag 1.43.3 derives the positioner's inline z-index from Content.
|
|
41
|
+
* Keep explicit backdrop/spotlight/content offsets for the ui-kit stack. */
|
|
42
|
+
z-index: calc(var(--z-tour) + var(--tour-layer, 2)) !important;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@utility tour-border {
|
|
46
|
+
border: var(--border-width-tour) solid var(--color-tour-border);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@utility tour-spotlight-border {
|
|
50
|
+
border: var(--border-width-tour) solid var(--color-tour-spotlight-border);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@utility tour-content {
|
|
54
|
+
width: var(--container-tour);
|
|
55
|
+
max-width: calc(100vw - var(--spacing-tour-viewport) * 2);
|
|
56
|
+
max-height: calc(100svh - var(--spacing-tour-viewport) * 2);
|
|
57
|
+
overflow-wrap: anywhere;
|
|
58
|
+
overflow-y: auto;
|
|
59
|
+
overscroll-behavior: contain;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@utility tour-positioner {
|
|
63
|
+
&[data-type="dialog"] {
|
|
64
|
+
position: fixed;
|
|
65
|
+
inset: 0;
|
|
66
|
+
display: flex;
|
|
67
|
+
align-items: center;
|
|
68
|
+
justify-content: center;
|
|
69
|
+
pointer-events: none;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&[data-type="floating"] {
|
|
73
|
+
position: fixed;
|
|
74
|
+
inset: 0;
|
|
75
|
+
display: flex;
|
|
76
|
+
align-items: center;
|
|
77
|
+
justify-content: center;
|
|
78
|
+
padding: var(--spacing-tour-viewport);
|
|
79
|
+
pointer-events: none;
|
|
80
|
+
|
|
81
|
+
&[data-placement^="top"],
|
|
82
|
+
&[data-placement="left-start"],
|
|
83
|
+
&[data-placement="right-start"] {
|
|
84
|
+
align-items: flex-start;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&[data-placement^="bottom"],
|
|
88
|
+
&[data-placement="left-end"],
|
|
89
|
+
&[data-placement="right-end"] {
|
|
90
|
+
align-items: flex-end;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&[data-placement="top-start"],
|
|
94
|
+
&[data-placement="bottom-start"] {
|
|
95
|
+
justify-content: flex-start;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&[data-placement="top-end"],
|
|
99
|
+
&[data-placement="bottom-end"] {
|
|
100
|
+
justify-content: flex-end;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
&[data-placement^="left"] {
|
|
104
|
+
justify-content: left;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
&[data-placement^="right"] {
|
|
108
|
+
justify-content: right;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
& > [data-scope="tour"][data-part="content"] {
|
|
113
|
+
pointer-events: auto;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
@utility tour-arrow {
|
|
118
|
+
--arrow-size: var(--spacing-tour-arrow);
|
|
119
|
+
--arrow-background: var(--color-tour-arrow-bg);
|
|
120
|
+
z-index: calc(var(--z-tour) + 3);
|
|
121
|
+
}
|