@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.
Files changed (47) hide show
  1. package/dist/atoms/hotkeys.js +52 -0
  2. package/dist/hotkeys.js +108 -0
  3. package/dist/internal/molecules/command.context.js +14 -0
  4. package/dist/molecules/command.js +177 -0
  5. package/dist/molecules/tour.js +318 -0
  6. package/dist/src/atoms/hotkeys.d.ts +29 -0
  7. package/dist/src/atoms/hotkeys.d.ts.map +1 -0
  8. package/dist/src/hotkeys.d.ts +19 -0
  9. package/dist/src/hotkeys.d.ts.map +1 -0
  10. package/dist/src/internal/molecules/command.context.d.ts +6 -0
  11. package/dist/src/internal/molecules/command.context.d.ts.map +1 -0
  12. package/dist/src/molecules/command.d.ts +51 -0
  13. package/dist/src/molecules/command.d.ts.map +1 -0
  14. package/dist/src/molecules/toast.d.ts +9 -9
  15. package/dist/src/molecules/tour.d.ts +72 -0
  16. package/dist/src/molecules/tour.d.ts.map +1 -0
  17. package/dist/src/types/zag.d.ts +2 -0
  18. package/dist/src/types/zag.d.ts.map +1 -1
  19. package/dist/stories/atoms/hotkeys-hydration.fixture.d.ts +6 -0
  20. package/dist/stories/atoms/hotkeys-hydration.fixture.d.ts.map +1 -0
  21. package/dist/stories/atoms/hotkeys.stories.d.ts +336 -0
  22. package/dist/stories/atoms/hotkeys.stories.d.ts.map +1 -0
  23. package/dist/stories/changelog/changelog.stories.d.ts +1 -1
  24. package/dist/stories/changelog/changelog.stories.d.ts.map +1 -1
  25. package/dist/stories/molecules/command-hotkeys.stories.d.ts +38 -0
  26. package/dist/stories/molecules/command-hotkeys.stories.d.ts.map +1 -0
  27. package/dist/stories/molecules/command.stories.d.ts +74 -0
  28. package/dist/stories/molecules/command.stories.d.ts.map +1 -0
  29. package/dist/stories/molecules/tour.stories.d.ts +58 -0
  30. package/dist/stories/molecules/tour.stories.d.ts.map +1 -0
  31. package/dist/test/command-hotkeys.spec.d.ts +2 -0
  32. package/dist/test/command-hotkeys.spec.d.ts.map +1 -0
  33. package/dist/test/command.spec.d.ts +2 -0
  34. package/dist/test/command.spec.d.ts.map +1 -0
  35. package/dist/test/hotkeys.spec.d.ts +2 -0
  36. package/dist/test/hotkeys.spec.d.ts.map +1 -0
  37. package/dist/test/tour.playwright.config.d.ts +4 -0
  38. package/dist/test/tour.playwright.config.d.ts.map +1 -0
  39. package/dist/test/tour.spec.d.ts +2 -0
  40. package/dist/test/tour.spec.d.ts.map +1 -0
  41. package/dist/test/tour.typecheck.d.ts +11 -0
  42. package/dist/test/tour.typecheck.d.ts.map +1 -0
  43. package/package.json +7 -1
  44. package/src/tokens/components/atoms/_hotkeys.css +36 -0
  45. package/src/tokens/components/components.css +3 -0
  46. package/src/tokens/components/molecules/_command.css +43 -0
  47. 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
+ }