@techsio/ui-kit 0.44.1 → 0.46.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/atoms/hotkeys.js +52 -0
- package/dist/hotkeys.js +108 -0
- package/dist/internal/molecules/command.context.js +14 -0
- package/dist/molecules/command.js +177 -0
- package/dist/molecules/tour.js +318 -0
- package/dist/src/atoms/hotkeys.d.ts +29 -0
- package/dist/src/atoms/hotkeys.d.ts.map +1 -0
- package/dist/src/hotkeys.d.ts +19 -0
- package/dist/src/hotkeys.d.ts.map +1 -0
- package/dist/src/internal/molecules/command.context.d.ts +6 -0
- package/dist/src/internal/molecules/command.context.d.ts.map +1 -0
- package/dist/src/molecules/command.d.ts +51 -0
- package/dist/src/molecules/command.d.ts.map +1 -0
- package/dist/src/molecules/toast.d.ts +9 -9
- 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 +2 -0
- package/dist/src/types/zag.d.ts.map +1 -1
- package/dist/stories/atoms/hotkeys-hydration.fixture.d.ts +6 -0
- package/dist/stories/atoms/hotkeys-hydration.fixture.d.ts.map +1 -0
- package/dist/stories/atoms/hotkeys.stories.d.ts +336 -0
- package/dist/stories/atoms/hotkeys.stories.d.ts.map +1 -0
- 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/command-hotkeys.stories.d.ts +38 -0
- package/dist/stories/molecules/command-hotkeys.stories.d.ts.map +1 -0
- package/dist/stories/molecules/command.stories.d.ts +74 -0
- package/dist/stories/molecules/command.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/command-hotkeys.spec.d.ts +2 -0
- package/dist/test/command-hotkeys.spec.d.ts.map +1 -0
- package/dist/test/command.spec.d.ts +2 -0
- package/dist/test/command.spec.d.ts.map +1 -0
- package/dist/test/hotkeys.spec.d.ts +2 -0
- package/dist/test/hotkeys.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 +7 -1
- package/src/tokens/components/atoms/_hotkeys.css +36 -0
- package/src/tokens/components/components.css +3 -0
- package/src/tokens/components/molecules/_command.css +43 -0
- package/src/tokens/components/molecules/_tour.css +121 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* BASE COLOR MAPPING */
|
|
3
|
+
--color-hotkeys-surface: var(--color-surface);
|
|
4
|
+
--color-hotkeys-text: var(--color-fg-secondary);
|
|
5
|
+
--color-hotkeys-outline: var(--color-border-primary);
|
|
6
|
+
|
|
7
|
+
/* DERIVED COLORS */
|
|
8
|
+
--color-hotkeys-key-bg: var(--color-hotkeys-surface);
|
|
9
|
+
--color-hotkeys-key-fg: var(--color-hotkeys-text);
|
|
10
|
+
--color-hotkeys-key-border: var(--color-hotkeys-outline);
|
|
11
|
+
--color-hotkeys-separator-fg: var(--color-hotkeys-text);
|
|
12
|
+
|
|
13
|
+
/* SPACING */
|
|
14
|
+
--gap-hotkeys: var(--spacing-50);
|
|
15
|
+
--padding-hotkeys-key-x: var(--spacing-100);
|
|
16
|
+
--padding-hotkeys-key-y: var(--spacing-50);
|
|
17
|
+
|
|
18
|
+
/* TYPOGRAPHY */
|
|
19
|
+
--text-hotkeys-sm: var(--text-xs);
|
|
20
|
+
--font-weight-hotkeys: var(--font-weight-medium);
|
|
21
|
+
|
|
22
|
+
/* BORDERS & RADIUS */
|
|
23
|
+
--border-width-hotkeys-key: var(--border-width-sm);
|
|
24
|
+
--radius-hotkeys-key: var(--radius-sm);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@utility hotkeys-key-border-width {
|
|
28
|
+
border-width: var(--border-width-hotkeys-key);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@utility hotkeys-target-focus {
|
|
32
|
+
outline-style: var(--default-ring-style);
|
|
33
|
+
outline-width: var(--default-ring-width);
|
|
34
|
+
outline-color: var(--color-primary);
|
|
35
|
+
outline-offset: var(--default-ring-offset);
|
|
36
|
+
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
@import "./atoms/_button.css";
|
|
6
6
|
@import "./atoms/_status-text.css";
|
|
7
7
|
@import "./atoms/_checkbox.css";
|
|
8
|
+
@import "./atoms/_hotkeys.css";
|
|
8
9
|
@import "./atoms/_icon.css";
|
|
9
10
|
@import "./atoms/_image.css";
|
|
10
11
|
@import "./atoms/_input.css";
|
|
@@ -23,6 +24,7 @@
|
|
|
23
24
|
@import "./molecules/_chart.css";
|
|
24
25
|
@import "./molecules/_color-select.css";
|
|
25
26
|
@import "./molecules/_combobox.css";
|
|
27
|
+
@import "./molecules/_command.css";
|
|
26
28
|
@import "./molecules/_date-picker.css";
|
|
27
29
|
@import "./molecules/_dialog.css";
|
|
28
30
|
@import "./molecules/_drawer.css";
|
|
@@ -40,6 +42,7 @@
|
|
|
40
42
|
@import "./molecules/_steps.css";
|
|
41
43
|
@import "./molecules/_switch.css";
|
|
42
44
|
@import "./molecules/_toast.css";
|
|
45
|
+
@import "./molecules/_tour.css";
|
|
43
46
|
@import "./molecules/_tree-view.css";
|
|
44
47
|
|
|
45
48
|
@import "./organisms/_table.css";
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* BASE COLOR MAPPING */
|
|
3
|
+
--color-command-surface: var(--color-popup-bg);
|
|
4
|
+
--color-command-foreground: var(--color-popup-item-fg);
|
|
5
|
+
--color-command-muted: var(--color-popup-item-fg-muted);
|
|
6
|
+
--color-command-highlight: var(--color-popup-item-bg-hover);
|
|
7
|
+
|
|
8
|
+
/* DERIVED COLORS */
|
|
9
|
+
--color-command-bg: var(--color-command-surface);
|
|
10
|
+
--color-command-fg: var(--color-command-foreground);
|
|
11
|
+
--color-command-border: var(--color-popup-border);
|
|
12
|
+
--color-command-group-label-fg: var(--color-command-muted);
|
|
13
|
+
--color-command-empty-fg: var(--color-command-muted);
|
|
14
|
+
|
|
15
|
+
/* STATE VARIATIONS */
|
|
16
|
+
--color-command-item-bg-highlighted: var(--color-command-highlight);
|
|
17
|
+
|
|
18
|
+
/* DISABLED STATES */
|
|
19
|
+
--color-command-item-fg-disabled: var(--color-popup-item-fg-disabled);
|
|
20
|
+
|
|
21
|
+
/* SPACING */
|
|
22
|
+
--spacing-command-gap: var(--spacing-100);
|
|
23
|
+
--spacing-command-item-gap: var(--spacing-popup-item-md);
|
|
24
|
+
--spacing-command-list-max: var(--container-xs);
|
|
25
|
+
--padding-command: var(--spacing-150);
|
|
26
|
+
--padding-command-list: var(--padding-popup-viewport);
|
|
27
|
+
--padding-command-item-x: var(--padding-popup-item-x-md);
|
|
28
|
+
--padding-command-item-y: var(--padding-popup-item-y-md);
|
|
29
|
+
--padding-command-empty: var(--spacing-300);
|
|
30
|
+
|
|
31
|
+
/* TYPOGRAPHY */
|
|
32
|
+
--text-command-md: var(--text-sm);
|
|
33
|
+
--font-weight-command-group-label: var(--font-weight-medium);
|
|
34
|
+
|
|
35
|
+
/* BORDERS & RADIUS */
|
|
36
|
+
--border-width-command: var(--border-width-popup);
|
|
37
|
+
--radius-command: var(--radius-popup);
|
|
38
|
+
--radius-command-item: var(--radius-popup-item);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@utility command-border-width {
|
|
42
|
+
border-width: var(--border-width-command);
|
|
43
|
+
}
|
|
@@ -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
|
+
}
|