@stackonward/cli 1.5.3 → 1.7.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 (74) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/index.js.map +1 -1
  3. package/dist/resources/components/nuxt/site-source/app/assets/css/site-shell.css +124 -56
  4. package/dist/resources/components/nuxt/site-source/app/assets/icons/brand/android.svg +10 -0
  5. package/dist/resources/components/nuxt/site-source/app/assets/icons/brand/apple.svg +3 -0
  6. package/dist/resources/components/nuxt/site-source/app/assets/icons/brand/whatsapp.svg +5 -0
  7. package/dist/resources/components/nuxt/site-source/app/components/app/Sidebar.vue +1 -1
  8. package/dist/resources/components/nuxt/site-source/app/components/checkout/Status.vue +3 -3
  9. package/dist/resources/components/nuxt/site-source/app/components/consent/Banner.vue +23 -8
  10. package/dist/resources/components/nuxt/site-source/app/components/content/CallToAction.vue +61 -0
  11. package/dist/resources/components/nuxt/site-source/app/components/content/Card.vue +35 -0
  12. package/dist/resources/components/nuxt/site-source/app/components/content/Compatibility.vue +10 -0
  13. package/dist/resources/components/nuxt/site-source/app/components/content/Faq.vue +56 -0
  14. package/dist/resources/components/nuxt/site-source/app/components/content/Features.vue +8 -0
  15. package/dist/resources/components/nuxt/site-source/app/components/content/List.vue +1 -8
  16. package/dist/resources/components/nuxt/site-source/app/components/content/Reviews.vue +93 -0
  17. package/dist/resources/components/nuxt/site-source/app/components/countdown/Timer.vue +112 -0
  18. package/dist/resources/components/nuxt/site-source/app/components/locale/Menu.vue +3 -3
  19. package/dist/resources/components/nuxt/site-source/app/components/site/BackToTop.vue +30 -23
  20. package/dist/resources/components/nuxt/site-source/app/components/site/Header.vue +2 -2
  21. package/dist/resources/components/nuxt/site-source/app/components/steps/Progress.vue +36 -0
  22. package/dist/resources/components/nuxt/site-source/app/components/steps/Showcase.vue +340 -0
  23. package/dist/resources/components/nuxt/site-source/app/components/theme/Menu.vue +4 -4
  24. package/dist/resources/components/nuxt/site-source/app/components/ui/Button.vue +28 -2
  25. package/dist/resources/components/nuxt/site-source/app/components/ui/GradientBorder.vue +5 -5
  26. package/dist/resources/components/nuxt/site-source/app/components/ui/Icon.vue +14 -0
  27. package/dist/resources/components/nuxt/site-source/app/components/ui/Image.vue +126 -0
  28. package/dist/resources/components/nuxt/site-source/app/components/ui/Marquee.vue +99 -0
  29. package/dist/resources/components/nuxt/site-source/app/components/ui/Modal.vue +26 -88
  30. package/dist/resources/components/nuxt/site-source/app/components/ui/Popover.vue +87 -93
  31. package/dist/resources/components/nuxt/site-source/app/components/ui/Text.vue +84 -12
  32. package/dist/resources/components/nuxt/site-source/app/components/ui/Video.vue +105 -0
  33. package/dist/resources/components/nuxt/site-source/app/components/whatsapp/Chat.vue +126 -0
  34. package/dist/resources/components/nuxt/site-source/app/components/youtube/Embed.vue +286 -73
  35. package/dist/resources/components/nuxt/site-source/app/composables/useFloatingBottomStack.ts +44 -0
  36. package/dist/resources/components/nuxt/site-source/app/composables/useNavigation.ts +6 -8
  37. package/dist/resources/components/nuxt/site-source/app/consent/types.ts +1 -4
  38. package/dist/resources/components/nuxt/site-source/app/content/types.ts +3 -0
  39. package/dist/resources/components/nuxt/site-source/app/theme/accordion.ts +5 -4
  40. package/dist/resources/components/nuxt/site-source/app/theme/breadcrumb.ts +14 -4
  41. package/dist/resources/components/nuxt/site-source/app/theme/button.ts +133 -27
  42. package/dist/resources/components/nuxt/site-source/app/theme/carousel.ts +11 -7
  43. package/dist/resources/components/nuxt/site-source/app/theme/checkbox.ts +9 -3
  44. package/dist/resources/components/nuxt/site-source/app/theme/drawer.ts +6 -0
  45. package/dist/resources/components/nuxt/site-source/app/theme/form-field.ts +8 -0
  46. package/dist/resources/components/nuxt/site-source/app/theme/icon.ts +6 -0
  47. package/dist/resources/components/nuxt/site-source/app/theme/index.ts +32 -1
  48. package/dist/resources/components/nuxt/site-source/app/theme/input.ts +49 -18
  49. package/dist/resources/components/nuxt/site-source/app/theme/modal.ts +9 -5
  50. package/dist/resources/components/nuxt/site-source/app/theme/pagination.ts +9 -2
  51. package/dist/resources/components/nuxt/site-source/app/theme/radio-group.ts +7 -0
  52. package/dist/resources/components/nuxt/site-source/app/theme/select.ts +62 -6
  53. package/dist/resources/components/nuxt/site-source/app/theme/stepper.ts +15 -6
  54. package/dist/resources/components/nuxt/site-source/app/theme/textarea.ts +78 -0
  55. package/dist/resources/components/nuxt/site-source/app/theme/toast.ts +1 -4
  56. package/dist/resources/components/nuxt/site-source/app/theme/tooltip.ts +5 -1
  57. package/dist/resources/components/registry.json +133 -45
  58. package/dist/resources/components/vue/ui/BottomSheet.vue +5 -1
  59. package/dist/resources/components/vue/ui/ScrollArea.vue +2 -1
  60. package/dist/resources/registry.json +1 -1
  61. package/dist/resources/templates/base/.claude/docs/architecture-template.md +2 -1
  62. package/dist/resources/templates/base/AGENTS.md +7 -0
  63. package/dist/resources/templates/base/CLAUDE.md +7 -0
  64. package/dist/resources/templates/nuxt/.claude/docs/stack.md +20 -1
  65. package/dist/resources/templates/nuxt/DESIGN.md +191 -0
  66. package/dist/resources/templates/nuxt/app/app.config.ts +2 -0
  67. package/dist/resources/templates/nuxt/app/pages/app/index.vue +9 -7
  68. package/dist/resources/templates/nuxt/app/pages/index.vue +12 -27
  69. package/dist/resources/templates/nuxt/app/pages/ui/index.vue +219 -3
  70. package/dist/resources/templates/nuxt/nuxt.config.ts +2 -4
  71. package/dist/resources/templates/nuxt/package.json +2 -1
  72. package/dist/resources/templates/nuxt/stylelint.config.mjs +12 -0
  73. package/package.json +3 -3
  74. package/dist/resources/components/nuxt/site-source/app/assets/icons/common/.gitkeep +0 -0
@@ -1,88 +1,194 @@
1
1
  export default {
2
2
  slots: {
3
- base: "inline-flex items-center justify-center rounded-ml font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25 disabled:cursor-not-allowed disabled:opacity-60",
3
+ base: "border-0 rounded-ml font-medium inline-flex items-center justify-center cursor-pointer disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors",
4
4
  label: "truncate",
5
5
  leadingIcon: "shrink-0",
6
+ leadingAvatar: "shrink-0",
6
7
  trailingIcon: "shrink-0",
7
8
  },
8
9
  variants: {
10
+ fieldGroup: {
11
+ horizontal:
12
+ "not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none",
13
+ vertical:
14
+ "not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none",
15
+ },
9
16
  size: {
10
17
  xs: {
11
- base: "h-9 gap-1 px-3 text-xs",
12
- leadingIcon: "size-4",
13
- trailingIcon: "size-4",
18
+ base: "px-3 py-0 text-xs/4 h-control-xs gap-1.5",
19
+ leadingIcon: "size-icon-sm",
20
+ leadingAvatarSize: "3xs",
21
+ trailingIcon: "size-icon-sm",
14
22
  },
15
23
  sm: {
16
- base: "h-10 gap-1.5 px-3.5 text-sm",
17
- leadingIcon: "size-4",
18
- trailingIcon: "size-4",
24
+ base: "px-4 py-0 text-sm/5 h-control-sm gap-1.5",
25
+ leadingIcon: "size-icon-sm",
26
+ leadingAvatarSize: "3xs",
27
+ trailingIcon: "size-icon-sm",
19
28
  },
20
29
  md: {
21
- base: "h-11 gap-2 px-4 text-sm",
22
- leadingIcon: "size-5",
23
- trailingIcon: "size-5",
30
+ base: "px-5 py-0 text-sm/5 h-control-md gap-2",
31
+ leadingIcon: "size-icon-md",
32
+ leadingAvatarSize: "2xs",
33
+ trailingIcon: "size-icon-md",
24
34
  },
25
35
  lg: {
26
- base: "h-12 gap-2 px-5 text-base",
27
- leadingIcon: "size-5",
28
- trailingIcon: "size-5",
36
+ base: "px-6 py-0 text-base/6 h-control-lg gap-2",
37
+ leadingIcon: "size-icon-md",
38
+ leadingAvatarSize: "2xs",
39
+ trailingIcon: "size-icon-md",
29
40
  },
30
41
  xl: {
31
- base: "h-14 gap-2.5 px-6 text-base",
32
- leadingIcon: "size-6",
33
- trailingIcon: "size-6",
42
+ base: "px-7 py-0 text-lg/7 h-control-xl gap-2",
43
+ leadingIcon: "size-icon-lg",
44
+ leadingAvatarSize: "xs",
45
+ trailingIcon: "size-icon-lg",
46
+ },
47
+ "2xl": {
48
+ base: "px-8 py-0 text-lg/7 h-control-2xl gap-2",
49
+ leadingIcon: "size-icon-lg",
50
+ leadingAvatarSize: "sm",
51
+ trailingIcon: "size-icon-lg",
34
52
  },
35
53
  },
54
+ square: { true: "min-w-0" },
36
55
  block: {
37
56
  true: {
38
- base: "w-full",
57
+ base: "w-full min-w-0 justify-center",
39
58
  trailingIcon: "ms-auto",
40
59
  },
41
60
  },
42
- variant: {
43
- link: "h-auto px-0",
61
+ active: {
62
+ true: {
63
+ base: "bg-primary-active text-primary-contrast",
64
+ },
65
+ false: {
66
+ base: "",
67
+ },
44
68
  },
45
69
  },
46
70
  compoundVariants: [
71
+ {
72
+ color: "neutral",
73
+ variant: "outline",
74
+ class:
75
+ "border-0 ring-1 ring-inset ring-border bg-surface text-text hover:bg-surface-muted focus-visible:ring-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary",
76
+ },
77
+ { size: "2xl", square: true, class: "w-control-2xl p-0" },
47
78
  {
48
79
  color: "primary",
49
80
  variant: "solid",
50
- class: "bg-primary text-primary-contrast hover:bg-primary-hover active:bg-primary-active",
81
+ class:
82
+ "text-primary-contrast bg-primary hover:bg-primary-hover active:bg-primary-active focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary",
51
83
  },
52
84
  {
53
85
  color: "primary",
54
86
  variant: "outline",
55
87
  class:
56
- "border border-primary text-primary hover:bg-primary hover:text-primary-contrast active:bg-primary-active",
88
+ "text-primary-hover ring-1 ring-inset ring-primary hover:bg-primary hover:text-primary-contrast active:transition-none active:ring-primary-hover active:bg-primary-hover active:text-primary-contrast focus:outline-none focus:transition-none focus-visible:ring-2 focus-visible:ring-primary-hover",
57
89
  },
58
90
  {
59
91
  color: "primary",
60
92
  variant: "soft",
61
- class: "bg-primary/10 text-primary hover:bg-primary/15 active:bg-primary/20",
93
+ class:
94
+ "text-primary-hover bg-primary/10 hover:bg-primary/20 focus:outline-none focus-visible:bg-primary/20",
95
+ },
96
+ {
97
+ color: "primary",
98
+ variant: "subtle",
99
+ class:
100
+ "text-primary-hover ring ring-inset ring-primary/25 bg-primary/10 hover:bg-primary/20 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary",
62
101
  },
63
102
  {
64
103
  color: "primary",
65
104
  variant: "ghost",
66
- class: "text-primary hover:bg-primary/10 active:bg-primary/15",
105
+ class:
106
+ "text-primary-hover hover:text-primary-active hover:bg-primary/10 focus:outline-none focus-visible:bg-primary/10",
67
107
  },
68
108
  {
69
- color: "secondary",
109
+ color: "primary",
110
+ variant: "link",
111
+ class:
112
+ "text-primary-hover hover:text-primary-active hover:underline focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary",
113
+ },
114
+ {
115
+ color: "success",
70
116
  variant: "solid",
71
- class: "bg-secondary text-white hover:bg-secondary-hover active:bg-secondary-active",
117
+ class:
118
+ "text-success-contrast bg-success hover:bg-success-hover active:bg-success-active focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success",
72
119
  },
73
120
  {
74
- color: "neutral",
121
+ color: "success",
75
122
  variant: "outline",
76
123
  class:
77
- "border border-primary/30 bg-surface text-primary hover:border-primary/45 hover:bg-primary/5",
124
+ "text-success-hover ring-1 ring-inset ring-success hover:bg-success hover:text-success-contrast active:transition-none active:ring-success-hover active:bg-success-hover active:text-success-contrast focus:outline-none focus:transition-none focus-visible:ring-2 focus-visible:ring-success-hover",
125
+ },
126
+ {
127
+ color: "success",
128
+ variant: "ghost",
129
+ class:
130
+ "text-success-hover hover:text-success-active hover:bg-success/10 focus:outline-none focus-visible:bg-success/10",
131
+ },
132
+ {
133
+ color: "success",
134
+ variant: "soft",
135
+ class:
136
+ "text-success-hover bg-success/10 hover:bg-success/20 focus:outline-none focus-visible:bg-success/20",
137
+ },
138
+ {
139
+ color: "success",
140
+ variant: "subtle",
141
+ class:
142
+ "text-success-hover ring ring-inset ring-success/25 bg-success/10 hover:bg-success/20 focus:outline-none focus-visible:ring-2 focus-visible:ring-success",
143
+ },
144
+ {
145
+ color: "success",
146
+ variant: "link",
147
+ class:
148
+ "text-success-hover hover:text-success-active hover:underline focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success",
149
+ },
150
+ {
151
+ size: "xs",
152
+ square: true,
153
+ class: "w-control-xs p-0",
154
+ },
155
+ {
156
+ size: "sm",
157
+ square: true,
158
+ class: "w-control-sm p-0",
159
+ },
160
+ {
161
+ size: "md",
162
+ square: true,
163
+ class: "w-control-md p-0",
164
+ },
165
+ {
166
+ size: "lg",
167
+ square: true,
168
+ class: "w-control-lg p-0",
169
+ },
170
+ {
171
+ size: "xl",
172
+ square: true,
173
+ class: "w-control-xl p-0",
78
174
  },
79
175
  {
80
176
  loading: true,
177
+ leading: true,
81
178
  class: {
82
179
  leadingIcon: "animate-spin",
180
+ },
181
+ },
182
+ {
183
+ loading: true,
184
+ leading: false,
185
+ trailing: true,
186
+ class: {
83
187
  trailingIcon: "animate-spin",
84
188
  },
85
189
  },
190
+ { variant: "link", class: "h-auto min-w-0 p-0" },
191
+ { square: true, class: "min-h-11 min-w-11" },
86
192
  ],
87
193
  defaultVariants: {
88
194
  color: "primary",
@@ -1,11 +1,15 @@
1
1
  export default {
2
2
  slots: {
3
- root: "relative",
4
- container: "items-stretch",
5
- item: "min-w-0",
6
- controls: "gap-2",
7
- arrows: "gap-2",
8
- dots: "gap-1.5",
9
- dot: "size-2 rounded-full bg-border data-[state=active]:bg-primary",
3
+ prev: "absolute !rounded-full min-w-[unset] prev-icon ring-[1px] text-primary hover:disabled:text-primary-hover",
4
+ next: "absolute !rounded-full min-w-[unset] next-icon ring-[1px] text-primary hover:disabled:text-primary-hover",
5
+ dots: "absolute inset-x-0 -bottom-[14px] flex flex-wrap items-center justify-center gap-2 max-lg:-bottom-[36px]",
6
+ dot: ["cursor-pointer w-[26px] h-1 bg-primary/20 rounded-[2px]", "transition"],
7
+ },
8
+ variants: {
9
+ active: {
10
+ true: {
11
+ dot: "bg-primary",
12
+ },
13
+ },
10
14
  },
11
15
  };
@@ -1,8 +1,14 @@
1
1
  export default {
2
2
  slots: {
3
- base: "rounded-md border-border text-primary focus-visible:ring-2 focus-visible:ring-primary/25",
4
- label: "text-sm font-medium text-text",
5
- description: "text-sm text-muted",
3
+ base: "border-0 relative inline-flex items-center ring-2 ring-primary rounded-full",
4
+ container: "flex items-center",
5
+ wrapper: "relative flex items-center",
6
+ indicator: [
7
+ "flex items-center justify-center",
8
+ "rounded-full",
9
+ "transition-all duration-200 ease-in-out",
10
+ ],
11
+ icon: "pointer-events-none text-primary-contrast size-icon-xs",
6
12
  },
7
13
  defaultVariants: {
8
14
  color: "primary",
@@ -0,0 +1,6 @@
1
+ export default {
2
+ slots: {
3
+ overlay: "bg-neutral/60",
4
+ content: "border-0 bg-surface ring-0",
5
+ },
6
+ };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ slots: {
3
+ label: "text-sm font-semibold text-text",
4
+ container: "mt-2",
5
+ error: "mt-2 text-sm text-error",
6
+ help: "mt-2 text-xs leading-5 text-muted",
7
+ },
8
+ };
@@ -0,0 +1,6 @@
1
+ export default {
2
+ size: "var(--site-icon-md)",
3
+ mode: "svg" as const,
4
+ class: "shrink-0 align-middle",
5
+ attrs: { "aria-hidden": true, focusable: false },
6
+ };
@@ -3,27 +3,58 @@ import breadcrumb from "./breadcrumb";
3
3
  import button from "./button";
4
4
  import carousel from "./carousel";
5
5
  import checkbox from "./checkbox";
6
+ import drawer from "./drawer";
7
+ import formField from "./form-field";
6
8
  import input from "./input";
7
9
  import modal from "./modal";
8
10
  import pagination from "./pagination";
11
+ import radioGroup from "./radio-group";
9
12
  import select from "./select";
10
13
  import stepper from "./stepper";
11
14
  import toast from "./toast";
15
+ import textarea from "./textarea";
12
16
  import tooltip from "./tooltip";
13
17
 
14
18
  const siteUiTheme = {
15
- strategy: "override",
19
+ tv: {
20
+ twMergeConfig: {
21
+ extend: {
22
+ theme: {
23
+ radius: ["ml", "2ml"],
24
+ spacing: [
25
+ "control-xs",
26
+ "control-sm",
27
+ "control-md",
28
+ "control-lg",
29
+ "control-xl",
30
+ "control-2xl",
31
+ "icon-xs",
32
+ "icon-sm",
33
+ "icon-md",
34
+ "icon-lg",
35
+ "icon-xl",
36
+ "icon-2xl",
37
+ "icon-3xl",
38
+ ],
39
+ },
40
+ },
41
+ },
42
+ },
16
43
  accordion,
17
44
  breadcrumb,
18
45
  button,
19
46
  carousel,
20
47
  checkbox,
48
+ drawer,
49
+ formField,
21
50
  input,
22
51
  modal,
23
52
  pagination,
53
+ radioGroup,
24
54
  select,
25
55
  stepper,
26
56
  toast,
57
+ textarea,
27
58
  tooltip,
28
59
  };
29
60
 
@@ -1,34 +1,49 @@
1
1
  export default {
2
2
  slots: {
3
- root: "w-full",
4
- base: "min-h-11 rounded-ml border-border bg-surface text-text placeholder:text-dimmed transition-colors",
3
+ root: "w-full ring-border",
4
+ base: "border-0 rounded-ml bg-surface text-text transition-colors",
5
5
  },
6
6
  variants: {
7
7
  size: {
8
8
  xs: {
9
- base: "px-2 py-1 text-xs",
10
- leadingIcon: "size-4",
11
- trailingIcon: "size-4",
9
+ base: "h-control-xs px-3 py-0 text-xs/4 gap-2",
10
+ leading: "ps-3",
11
+ trailing: "pe-3",
12
+ leadingIcon: "size-icon-sm",
13
+ leadingAvatarSize: "3xs",
14
+ trailingIcon: "size-icon-sm",
12
15
  },
13
16
  sm: {
14
- base: "px-2.5 py-1.5 text-sm",
15
- leadingIcon: "size-4",
16
- trailingIcon: "size-4",
17
+ base: "h-control-sm px-3 py-0 text-sm/5 gap-2",
18
+ leading: "ps-3",
19
+ trailing: "pe-3",
20
+ leadingIcon: "size-icon-sm",
21
+ leadingAvatarSize: "3xs",
22
+ trailingIcon: "size-icon-sm",
17
23
  },
18
24
  md: {
19
- base: "px-3 py-2 text-sm",
20
- leadingIcon: "size-5",
21
- trailingIcon: "size-5",
25
+ base: "h-control-md px-3.5 py-0 text-sm/5 gap-2",
26
+ leading: "ps-3.5",
27
+ trailing: "pe-3.5",
28
+ leadingIcon: "size-icon-md",
29
+ leadingAvatarSize: "2xs",
30
+ trailingIcon: "size-icon-md",
22
31
  },
23
32
  lg: {
24
- base: "px-3.5 py-2.5 text-base",
25
- leadingIcon: "size-5",
26
- trailingIcon: "size-5",
33
+ base: "h-control-lg px-4 py-0 text-base/6 gap-2",
34
+ leading: "ps-4",
35
+ trailing: "pe-4",
36
+ leadingIcon: "size-icon-md",
37
+ leadingAvatarSize: "2xs",
38
+ trailingIcon: "size-icon-md",
27
39
  },
28
40
  xl: {
29
- base: "px-4 py-3 text-base",
30
- leadingIcon: "size-6",
31
- trailingIcon: "size-6",
41
+ base: "h-control-xl px-4.5 py-0 text-lg/7 gap-2",
42
+ leading: "ps-4.5",
43
+ trailing: "pe-4.5",
44
+ leadingIcon: "size-icon-lg",
45
+ leadingAvatarSize: "xs",
46
+ trailingIcon: "size-icon-lg",
32
47
  },
33
48
  },
34
49
  },
@@ -36,8 +51,24 @@ export default {
36
51
  {
37
52
  color: "primary",
38
53
  variant: ["outline", "subtle"],
39
- class: "focus-visible:ring-2 focus-visible:ring-primary/25",
54
+ class:
55
+ "ring-1 ring-inset ring-border focus-visible:ring-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary",
40
56
  },
57
+ { leading: true, size: "xs", class: "ps-9" },
58
+ { trailing: true, size: "xs", class: "pe-9" },
59
+ { fixed: false, size: "xs", class: "max-md:text-base md:text-xs" },
60
+ { leading: true, size: "sm", class: "ps-9" },
61
+ { trailing: true, size: "sm", class: "pe-9" },
62
+ { fixed: false, size: "sm", class: "max-md:text-base md:text-sm" },
63
+ { leading: true, size: "md", class: "ps-10.5" },
64
+ { trailing: true, size: "md", class: "pe-10.5" },
65
+ { fixed: false, size: "md", class: "max-md:text-base md:text-sm" },
66
+ { leading: true, size: "lg", class: "ps-11" },
67
+ { trailing: true, size: "lg", class: "pe-11" },
68
+ { fixed: false, size: "lg", class: "max-md:text-base md:text-base" },
69
+ { leading: true, size: "xl", class: "ps-12.5" },
70
+ { trailing: true, size: "xl", class: "pe-12.5" },
71
+ { fixed: false, size: "xl", class: "max-md:text-base md:text-lg" },
41
72
  ],
42
73
  defaultVariants: {
43
74
  size: "md",
@@ -1,9 +1,13 @@
1
1
  export default {
2
2
  slots: {
3
- overlay: "bg-neutral/55 backdrop-blur-sm",
4
- content: "rounded-2ml border border-border bg-surface p-0 shadow-xl",
5
- header: "px-5 py-4",
6
- body: "px-5 py-4",
7
- footer: "px-5 py-4",
3
+ content: "border-0 bg-surface p-5 divide-y-0",
4
+ header: "min-h-0 p-0 pb-5",
5
+ body: "p-0",
6
+ footer: "flex-wrap p-0 pt-5",
7
+ wrapper: "pr-12",
8
+ },
9
+ variants: {
10
+ overlay: { true: { overlay: "bg-neutral/60" } },
11
+ fullscreen: { false: { content: "rounded-2ml ring-0" } },
8
12
  },
9
13
  };
@@ -1,6 +1,13 @@
1
1
  export default {
2
2
  slots: {
3
- root: "gap-1",
4
- item: "rounded-md border-border text-muted hover:bg-surface-muted hover:text-text",
3
+ root: "",
4
+ list: "gap-2.5 justify-center",
5
+ ellipsis: "min-w-9 h-9 bg-transparent",
6
+ label: "min-w-5 text-center",
7
+ first: "min-w-9 h-9 hidden",
8
+ prev: "min-w-9 h-9 bg-transparent px-5 leading-[36px] bg-surface rounded-ml text-dimmed hover:bg-primary hover:text-primary-contrast active:bg-primary-active cursor-pointer max-md:hidden",
9
+ item: 'min-w-9 h-9 bg-transparent text-dimmed hover:text-primary-contrast hover:bg-primary active:bg-primary-active data-[selected="true"]:hover:bg-primary-hover data-[selected="true"]:text-primary-contrast data-[selected="true"]:bg-primary',
10
+ next: "min-w-9 h-9 bg-transparent px-5 leading-[36px] bg-surface rounded-ml text-dimmed hover:bg-primary hover:text-primary-contrast active:bg-primary-active cursor-pointer max-md:hidden",
11
+ last: "min-w-9 h-9 hidden",
5
12
  },
6
13
  };
@@ -0,0 +1,7 @@
1
+ export default {
2
+ slots: {
3
+ item: "min-h-11 cursor-pointer items-center rounded-ml border-border has-focus-visible:outline-2 has-focus-visible:outline-offset-2 has-focus-visible:outline-primary has-data-[state=checked]:border-brand has-data-[state=checked]:bg-brand/15",
4
+ label: "font-semibold text-text",
5
+ icon: "size-icon-sm text-primary",
6
+ },
7
+ };
@@ -1,19 +1,75 @@
1
1
  export default {
2
2
  slots: {
3
- base: "min-h-11 rounded-ml border-border bg-surface text-text",
4
- placeholder: "text-dimmed",
5
- content: "rounded-ml border border-border bg-surface shadow-lg",
3
+ base: "border-0 rounded-ml bg-surface text-text",
4
+ value: "truncate",
5
+ placeholder: "truncate text-dimmed",
6
6
  group: "p-1.5",
7
- item: "rounded-md px-2.5 py-2 text-muted data-highlighted:bg-surface-muted data-highlighted:text-text",
7
+ content: "border-0 rounded-ml ring-1 ring-border bg-surface",
8
+ item: "min-h-11 rounded-ml px-3 py-2 text-sm/5 text-text data-highlighted:bg-surface-muted data-[state=checked]:bg-surface-muted",
8
9
  trailingIcon:
9
- "text-dimmed transition-transform duration-200 group-data-[state=open]:rotate-180",
10
+ "group-data-[state=open]:rotate-180 transition-transform duration-200 text-dimmed",
11
+ },
12
+ variants: {
13
+ size: {
14
+ xs: {
15
+ base: "h-control-xs px-3 py-0 text-xs/4 gap-2",
16
+ leading: "ps-3",
17
+ trailing: "pe-3",
18
+ leadingIcon: "size-icon-sm",
19
+ leadingAvatarSize: "3xs",
20
+ trailingIcon: "size-icon-sm",
21
+ },
22
+ sm: {
23
+ base: "h-control-sm px-3 py-0 text-sm/5 gap-2",
24
+ leading: "ps-3",
25
+ trailing: "pe-3",
26
+ leadingIcon: "size-icon-sm",
27
+ leadingAvatarSize: "3xs",
28
+ trailingIcon: "size-icon-sm",
29
+ },
30
+ md: {
31
+ base: "h-control-md px-3.5 py-0 text-sm/5 gap-2",
32
+ leading: "ps-3.5",
33
+ trailing: "pe-3.5",
34
+ leadingIcon: "size-icon-md",
35
+ leadingAvatarSize: "2xs",
36
+ trailingIcon: "size-icon-md",
37
+ },
38
+ lg: {
39
+ base: "h-control-lg px-4 py-0 text-base/6 gap-2",
40
+ leading: "ps-4",
41
+ trailing: "pe-4",
42
+ leadingIcon: "size-icon-md",
43
+ leadingAvatarSize: "2xs",
44
+ trailingIcon: "size-icon-md",
45
+ },
46
+ xl: {
47
+ base: "h-control-xl px-4.5 py-0 text-lg/7 gap-2",
48
+ leading: "ps-4.5",
49
+ trailing: "pe-4.5",
50
+ leadingIcon: "size-icon-lg",
51
+ leadingAvatarSize: "xs",
52
+ trailingIcon: "size-icon-lg",
53
+ },
54
+ },
10
55
  },
11
56
  compoundVariants: [
12
57
  {
13
58
  color: "primary",
14
59
  variant: ["outline", "subtle"],
15
- class: "focus-visible:ring-2 focus-visible:ring-primary/25",
60
+ class:
61
+ "ring-1 ring-inset ring-border focus-visible:ring-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary",
16
62
  },
63
+ { leading: true, size: "xs", class: "ps-9" },
64
+ { trailing: true, size: "xs", class: "pe-9" },
65
+ { leading: true, size: "sm", class: "ps-9" },
66
+ { trailing: true, size: "sm", class: "pe-9" },
67
+ { leading: true, size: "md", class: "ps-10.5" },
68
+ { trailing: true, size: "md", class: "pe-10.5" },
69
+ { leading: true, size: "lg", class: "ps-11" },
70
+ { trailing: true, size: "lg", class: "pe-11" },
71
+ { leading: true, size: "xl", class: "ps-12.5" },
72
+ { trailing: true, size: "xl", class: "pe-12.5" },
17
73
  ],
18
74
  defaultVariants: {
19
75
  size: "md",
@@ -1,10 +1,19 @@
1
1
  export default {
2
2
  slots: {
3
- root: "gap-4",
4
- item: "gap-3",
5
- trigger: "rounded-md text-sm text-muted data-[state=active]:text-primary",
6
- indicator: "border-border data-[state=active]:border-primary data-[state=active]:bg-primary",
7
- title: "font-semibold",
8
- description: "text-muted",
3
+ root: "step-root",
4
+ container: "step-container static",
5
+ indicator: "step-indicator text-primary-contrast text-[28px] font-bold",
6
+ icon: "step-icon",
7
+ trigger: "step-trigger size-12 max-lg:size-11 relative z-1",
8
+ separator: "step-separator",
9
+ wrapper: "step-wrapper",
10
+ item: "static step-item",
11
+ title: "step-title text-text font-semibold max-lg:text-text max-lg:!text-lg max-lg:!mb-2.5",
12
+ description: "text-muted step-description max-lg:text-text max-lg:!text-sm",
13
+ content: "step-content",
14
+ },
15
+ defaultVariants: {
16
+ size: "md",
17
+ color: "primary",
9
18
  },
10
19
  };