@falcondev-oss/nuxt-layers-base 0.1.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 (176) hide show
  1. package/.nuxt/app.config.mjs +317 -0
  2. package/.nuxt/components.d.ts +332 -0
  3. package/.nuxt/imports.d.ts +61 -0
  4. package/.nuxt/manifest/meta/24fb5e89-93fb-44cb-bbff-2a13f165c1e8.json +1 -0
  5. package/.nuxt/nuxt-icon-client-bundle.mjs +1 -0
  6. package/.nuxt/nuxt-icon-server-bundle.mjs +14 -0
  7. package/.nuxt/nuxt.d.ts +24 -0
  8. package/.nuxt/nuxt.node.d.ts +14 -0
  9. package/.nuxt/nuxt.shared.d.ts +5 -0
  10. package/.nuxt/schema/nuxt.schema.d.ts +210 -0
  11. package/.nuxt/schema/nuxt.schema.json +263 -0
  12. package/.nuxt/tsconfig.app.json +217 -0
  13. package/.nuxt/tsconfig.json +219 -0
  14. package/.nuxt/tsconfig.node.json +114 -0
  15. package/.nuxt/tsconfig.server.json +140 -0
  16. package/.nuxt/tsconfig.shared.json +139 -0
  17. package/.nuxt/types/app.config.d.ts +331 -0
  18. package/.nuxt/types/build.d.ts +24 -0
  19. package/.nuxt/types/builder-env.d.ts +1 -0
  20. package/.nuxt/types/components.d.ts +337 -0
  21. package/.nuxt/types/imports.d.ts +906 -0
  22. package/.nuxt/types/layouts.d.ts +7 -0
  23. package/.nuxt/types/middleware.d.ts +7 -0
  24. package/.nuxt/types/modules.d.ts +159 -0
  25. package/.nuxt/types/nitro-config.d.ts +14 -0
  26. package/.nuxt/types/nitro-imports.d.ts +141 -0
  27. package/.nuxt/types/nitro-middleware.d.ts +11 -0
  28. package/.nuxt/types/nitro-nuxt.d.ts +61 -0
  29. package/.nuxt/types/nitro-routes.d.ts +17 -0
  30. package/.nuxt/types/nitro.d.ts +3 -0
  31. package/.nuxt/types/plugins.d.ts +35 -0
  32. package/.nuxt/types/runtime-config.d.ts +36 -0
  33. package/.nuxt/types/ui.d.ts +36 -0
  34. package/.nuxt/types/vue-shim.d.ts +0 -0
  35. package/.nuxt/ui/accordion.ts +20 -0
  36. package/.nuxt/ui/alert.ts +264 -0
  37. package/.nuxt/ui/auth-form.ts +20 -0
  38. package/.nuxt/ui/avatar-group.ts +52 -0
  39. package/.nuxt/ui/avatar.ts +54 -0
  40. package/.nuxt/ui/badge.ts +263 -0
  41. package/.nuxt/ui/banner.ts +108 -0
  42. package/.nuxt/ui/blog-post.ts +143 -0
  43. package/.nuxt/ui/blog-posts.ts +9 -0
  44. package/.nuxt/ui/breadcrumb.ts +45 -0
  45. package/.nuxt/ui/button.ts +378 -0
  46. package/.nuxt/ui/calendar.ts +315 -0
  47. package/.nuxt/ui/card.ts +34 -0
  48. package/.nuxt/ui/carousel.ts +38 -0
  49. package/.nuxt/ui/changelog-version.ts +45 -0
  50. package/.nuxt/ui/changelog-versions.ts +8 -0
  51. package/.nuxt/ui/chat-message.ts +136 -0
  52. package/.nuxt/ui/chat-messages.ts +14 -0
  53. package/.nuxt/ui/chat-palette.ts +8 -0
  54. package/.nuxt/ui/chat-prompt-submit.ts +5 -0
  55. package/.nuxt/ui/chat-prompt.ts +35 -0
  56. package/.nuxt/ui/checkbox-group.ts +207 -0
  57. package/.nuxt/ui/checkbox.ts +237 -0
  58. package/.nuxt/ui/chip.ts +96 -0
  59. package/.nuxt/ui/collapsible.ts +6 -0
  60. package/.nuxt/ui/color-picker.ts +47 -0
  61. package/.nuxt/ui/command-palette.ts +62 -0
  62. package/.nuxt/ui/container.ts +3 -0
  63. package/.nuxt/ui/context-menu.ts +219 -0
  64. package/.nuxt/ui/dashboard-group.ts +3 -0
  65. package/.nuxt/ui/dashboard-navbar.ts +21 -0
  66. package/.nuxt/ui/dashboard-panel.ts +17 -0
  67. package/.nuxt/ui/dashboard-resize-handle.ts +3 -0
  68. package/.nuxt/ui/dashboard-search-button.ts +15 -0
  69. package/.nuxt/ui/dashboard-search.ts +13 -0
  70. package/.nuxt/ui/dashboard-sidebar-collapse.ts +9 -0
  71. package/.nuxt/ui/dashboard-sidebar-toggle.ts +9 -0
  72. package/.nuxt/ui/dashboard-sidebar.ts +37 -0
  73. package/.nuxt/ui/dashboard-toolbar.ts +7 -0
  74. package/.nuxt/ui/drawer.ts +149 -0
  75. package/.nuxt/ui/dropdown-menu.ts +220 -0
  76. package/.nuxt/ui/editor-drag-handle.ts +6 -0
  77. package/.nuxt/ui/editor-emoji-menu.ts +35 -0
  78. package/.nuxt/ui/editor-mention-menu.ts +35 -0
  79. package/.nuxt/ui/editor-suggestion-menu.ts +35 -0
  80. package/.nuxt/ui/editor-toolbar.ts +21 -0
  81. package/.nuxt/ui/editor.ts +35 -0
  82. package/.nuxt/ui/empty.ts +83 -0
  83. package/.nuxt/ui/error.ts +9 -0
  84. package/.nuxt/ui/field-group.ts +16 -0
  85. package/.nuxt/ui/file-upload.ts +290 -0
  86. package/.nuxt/ui/footer-columns.ts +28 -0
  87. package/.nuxt/ui/footer.ts +11 -0
  88. package/.nuxt/ui/form-field.ts +62 -0
  89. package/.nuxt/ui/form.ts +3 -0
  90. package/.nuxt/ui/header.ts +25 -0
  91. package/.nuxt/ui/index.ts +109 -0
  92. package/.nuxt/ui/input-date.ts +337 -0
  93. package/.nuxt/ui/input-menu.ts +460 -0
  94. package/.nuxt/ui/input-number.ts +256 -0
  95. package/.nuxt/ui/input-tags.ts +310 -0
  96. package/.nuxt/ui/input-time.ts +336 -0
  97. package/.nuxt/ui/input.ts +289 -0
  98. package/.nuxt/ui/kbd.ts +195 -0
  99. package/.nuxt/ui/link.ts +22 -0
  100. package/.nuxt/ui/main.ts +3 -0
  101. package/.nuxt/ui/marquee.ts +66 -0
  102. package/.nuxt/ui/modal.ts +60 -0
  103. package/.nuxt/ui/navigation-menu.ts +512 -0
  104. package/.nuxt/ui/page-anchors.ts +30 -0
  105. package/.nuxt/ui/page-aside.ts +10 -0
  106. package/.nuxt/ui/page-body.ts +3 -0
  107. package/.nuxt/ui/page-card.ts +274 -0
  108. package/.nuxt/ui/page-columns.ts +3 -0
  109. package/.nuxt/ui/page-cta.ts +70 -0
  110. package/.nuxt/ui/page-feature.ts +34 -0
  111. package/.nuxt/ui/page-grid.ts +3 -0
  112. package/.nuxt/ui/page-header.ts +18 -0
  113. package/.nuxt/ui/page-hero.ts +44 -0
  114. package/.nuxt/ui/page-links.ts +25 -0
  115. package/.nuxt/ui/page-list.ts +8 -0
  116. package/.nuxt/ui/page-logos.ts +15 -0
  117. package/.nuxt/ui/page-section.ts +84 -0
  118. package/.nuxt/ui/page.ts +32 -0
  119. package/.nuxt/ui/pagination.ts +13 -0
  120. package/.nuxt/ui/pin-input.ts +171 -0
  121. package/.nuxt/ui/popover.ts +6 -0
  122. package/.nuxt/ui/pricing-plan.ts +101 -0
  123. package/.nuxt/ui/pricing-plans.ts +22 -0
  124. package/.nuxt/ui/pricing-table.ts +51 -0
  125. package/.nuxt/ui/progress.ts +297 -0
  126. package/.nuxt/ui/radio-group.ts +352 -0
  127. package/.nuxt/ui/scroll-area.ts +21 -0
  128. package/.nuxt/ui/select-menu.ts +361 -0
  129. package/.nuxt/ui/select.ts +348 -0
  130. package/.nuxt/ui/separator.ts +172 -0
  131. package/.nuxt/ui/skeleton.ts +3 -0
  132. package/.nuxt/ui/slideover.ts +132 -0
  133. package/.nuxt/ui/slider.ts +171 -0
  134. package/.nuxt/ui/stepper.ts +202 -0
  135. package/.nuxt/ui/switch.ts +132 -0
  136. package/.nuxt/ui/table.ts +162 -0
  137. package/.nuxt/ui/tabs.ts +258 -0
  138. package/.nuxt/ui/textarea.ts +294 -0
  139. package/.nuxt/ui/timeline.ts +321 -0
  140. package/.nuxt/ui/toast.ts +74 -0
  141. package/.nuxt/ui/toaster.ts +91 -0
  142. package/.nuxt/ui/tooltip.ts +9 -0
  143. package/.nuxt/ui/tree.ts +168 -0
  144. package/.nuxt/ui/user.ts +101 -0
  145. package/.nuxt/ui-image-component.ts +1 -0
  146. package/.nuxt/ui.css +154 -0
  147. package/app/app.config.ts +7 -0
  148. package/app/app.vue +3 -0
  149. package/app/assets/css/base.css +28 -0
  150. package/app/components/Var.vue +13 -0
  151. package/app/components/layout/LayoutDashboard.vue +102 -0
  152. package/app/components/overlay/modal/ModalActions.vue +25 -0
  153. package/app/components/overlay/modal/ModalConfirm.vue +25 -0
  154. package/app/components/overlay/modal/ModalRadioGroup.vue +37 -0
  155. package/app/components/u/UActions.vue +23 -0
  156. package/app/components/u/UCustomApp.vue +20 -0
  157. package/app/components/u/UField.vue +55 -0
  158. package/app/components/u/UImageWithFallback.vue +35 -0
  159. package/app/components/u/UInputDatePicker.vue +40 -0
  160. package/app/components/u/UInputDurationMinutes.vue +88 -0
  161. package/app/components/u/UTableCard.vue +16 -0
  162. package/app/composables/useConfirm.ts +16 -0
  163. package/app/composables/usePreventPageLeave.ts +31 -0
  164. package/app/composables/useRouteParamString.ts +22 -0
  165. package/app/composables/useTableColumns.tsx +68 -0
  166. package/app/composables/useToast.ts +40 -0
  167. package/app/composables/useTrpc.ts +3 -0
  168. package/app/error.vue +15 -0
  169. package/app/pages/index.vue +3 -0
  170. package/app/utils/form-field-translators.ts +41 -0
  171. package/app/utils/plugins.ts +95 -0
  172. package/app/utils/reactivity.ts +17 -0
  173. package/nuxt.config.ts +85 -0
  174. package/package.json +46 -0
  175. package/pnpm-workspace.yaml +5 -0
  176. package/tsconfig.json +17 -0
@@ -0,0 +1,171 @@
1
+ const size = [
2
+ "xs",
3
+ "sm",
4
+ "md",
5
+ "lg",
6
+ "xl"
7
+ ] as const
8
+
9
+ const variant = [
10
+ "outline",
11
+ "soft",
12
+ "subtle",
13
+ "ghost",
14
+ "none"
15
+ ] as const
16
+
17
+ const color = [
18
+ "primary",
19
+ "secondary",
20
+ "success",
21
+ "info",
22
+ "warning",
23
+ "error",
24
+ "neutral"
25
+ ] as const
26
+
27
+ export default {
28
+ "slots": {
29
+ "root": "relative inline-flex items-center gap-1.5",
30
+ "base": [
31
+ "rounded-md border-0 placeholder:text-dimmed text-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75",
32
+ "transition-colors"
33
+ ]
34
+ },
35
+ "variants": {
36
+ "size": {
37
+ "xs": {
38
+ "base": "size-6 text-xs"
39
+ },
40
+ "sm": {
41
+ "base": "size-7 text-xs"
42
+ },
43
+ "md": {
44
+ "base": "size-8 text-sm"
45
+ },
46
+ "lg": {
47
+ "base": "size-9 text-sm"
48
+ },
49
+ "xl": {
50
+ "base": "size-10 text-base"
51
+ }
52
+ },
53
+ "variant": {
54
+ "outline": "text-highlighted bg-default ring ring-inset ring-accented",
55
+ "soft": "text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",
56
+ "subtle": "text-highlighted bg-elevated ring ring-inset ring-accented",
57
+ "ghost": "text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",
58
+ "none": "text-highlighted bg-transparent"
59
+ },
60
+ "color": {
61
+ "primary": "",
62
+ "secondary": "",
63
+ "success": "",
64
+ "info": "",
65
+ "warning": "",
66
+ "error": "",
67
+ "neutral": ""
68
+ },
69
+ "highlight": {
70
+ "true": ""
71
+ }
72
+ },
73
+ "compoundVariants": [
74
+ {
75
+ "color": "primary" as typeof color[number],
76
+ "variant": [
77
+ "outline" as typeof variant[number],
78
+ "subtle" as typeof variant[number]
79
+ ],
80
+ "class": "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary"
81
+ },
82
+ {
83
+ "color": "secondary" as typeof color[number],
84
+ "variant": [
85
+ "outline" as typeof variant[number],
86
+ "subtle" as typeof variant[number]
87
+ ],
88
+ "class": "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-secondary"
89
+ },
90
+ {
91
+ "color": "success" as typeof color[number],
92
+ "variant": [
93
+ "outline" as typeof variant[number],
94
+ "subtle" as typeof variant[number]
95
+ ],
96
+ "class": "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success"
97
+ },
98
+ {
99
+ "color": "info" as typeof color[number],
100
+ "variant": [
101
+ "outline" as typeof variant[number],
102
+ "subtle" as typeof variant[number]
103
+ ],
104
+ "class": "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-info"
105
+ },
106
+ {
107
+ "color": "warning" as typeof color[number],
108
+ "variant": [
109
+ "outline" as typeof variant[number],
110
+ "subtle" as typeof variant[number]
111
+ ],
112
+ "class": "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-warning"
113
+ },
114
+ {
115
+ "color": "error" as typeof color[number],
116
+ "variant": [
117
+ "outline" as typeof variant[number],
118
+ "subtle" as typeof variant[number]
119
+ ],
120
+ "class": "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-error"
121
+ },
122
+ {
123
+ "color": "primary" as typeof color[number],
124
+ "highlight": true,
125
+ "class": "ring ring-inset ring-primary"
126
+ },
127
+ {
128
+ "color": "secondary" as typeof color[number],
129
+ "highlight": true,
130
+ "class": "ring ring-inset ring-secondary"
131
+ },
132
+ {
133
+ "color": "success" as typeof color[number],
134
+ "highlight": true,
135
+ "class": "ring ring-inset ring-success"
136
+ },
137
+ {
138
+ "color": "info" as typeof color[number],
139
+ "highlight": true,
140
+ "class": "ring ring-inset ring-info"
141
+ },
142
+ {
143
+ "color": "warning" as typeof color[number],
144
+ "highlight": true,
145
+ "class": "ring ring-inset ring-warning"
146
+ },
147
+ {
148
+ "color": "error" as typeof color[number],
149
+ "highlight": true,
150
+ "class": "ring ring-inset ring-error"
151
+ },
152
+ {
153
+ "color": "neutral" as typeof color[number],
154
+ "variant": [
155
+ "outline" as typeof variant[number],
156
+ "subtle" as typeof variant[number]
157
+ ],
158
+ "class": "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
159
+ },
160
+ {
161
+ "color": "neutral" as typeof color[number],
162
+ "highlight": true,
163
+ "class": "ring ring-inset ring-inverted"
164
+ }
165
+ ],
166
+ "defaultVariants": {
167
+ "size": "md" as typeof size[number],
168
+ "color": "primary" as typeof color[number],
169
+ "variant": "outline" as typeof variant[number]
170
+ }
171
+ }
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "slots": {
3
+ "content": "bg-default shadow-lg rounded-md ring ring-default data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-popover-content-transform-origin) focus:outline-none pointer-events-auto",
4
+ "arrow": "fill-default"
5
+ }
6
+ }
@@ -0,0 +1,101 @@
1
+ const orientation = [
2
+ "horizontal",
3
+ "vertical"
4
+ ] as const
5
+
6
+ const variant = [
7
+ "solid",
8
+ "outline",
9
+ "soft",
10
+ "subtle"
11
+ ] as const
12
+
13
+ export default {
14
+ "slots": {
15
+ "root": "relative grid rounded-lg p-6 lg:p-8 xl:p-10 gap-6",
16
+ "header": "",
17
+ "body": "flex flex-col min-w-0",
18
+ "footer": "flex flex-col gap-6 items-center",
19
+ "titleWrapper": "flex items-center gap-3",
20
+ "title": "text-highlighted text-2xl sm:text-3xl text-pretty font-semibold",
21
+ "description": "text-muted text-base text-pretty mt-2",
22
+ "priceWrapper": "flex items-center gap-1",
23
+ "price": "text-highlighted text-3xl sm:text-4xl font-semibold",
24
+ "discount": "text-muted line-through text-xl sm:text-2xl",
25
+ "billing": "flex flex-col justify-between min-w-0",
26
+ "billingPeriod": "text-toned truncate text-xs font-medium",
27
+ "billingCycle": "text-muted truncate text-xs font-medium",
28
+ "features": "flex flex-col gap-3 flex-1 mt-6 grow-0",
29
+ "feature": "flex items-center gap-2 min-w-0",
30
+ "featureIcon": "size-5 shrink-0 text-primary",
31
+ "featureTitle": "text-muted text-sm truncate",
32
+ "badge": "",
33
+ "button": "",
34
+ "tagline": "text-base font-semibold text-default",
35
+ "terms": "text-xs/5 text-muted text-center text-balance"
36
+ },
37
+ "variants": {
38
+ "orientation": {
39
+ "horizontal": {
40
+ "root": "grid-cols-1 lg:grid-cols-3 justify-between divide-y lg:divide-y-0 lg:divide-x divide-default",
41
+ "body": "lg:col-span-2 pb-6 lg:pb-0 lg:pr-6 justify-center",
42
+ "footer": "lg:justify-center lg:items-center lg:p-6 lg:max-w-xs lg:w-full lg:mx-auto",
43
+ "features": "lg:grid lg:grid-cols-2 lg:mt-12"
44
+ },
45
+ "vertical": {
46
+ "footer": "justify-end",
47
+ "priceWrapper": "mt-6"
48
+ }
49
+ },
50
+ "variant": {
51
+ "solid": {
52
+ "root": "bg-inverted",
53
+ "title": "text-inverted",
54
+ "description": "text-dimmed",
55
+ "price": "text-inverted",
56
+ "discount": "text-dimmed",
57
+ "billingCycle": "text-dimmed",
58
+ "billingPeriod": "text-dimmed",
59
+ "featureTitle": "text-dimmed"
60
+ },
61
+ "outline": {
62
+ "root": "bg-default ring ring-default"
63
+ },
64
+ "soft": {
65
+ "root": "bg-elevated/50"
66
+ },
67
+ "subtle": {
68
+ "root": "bg-elevated/50 ring ring-default"
69
+ }
70
+ },
71
+ "highlight": {
72
+ "true": {
73
+ "root": "ring-2 ring-inset ring-primary"
74
+ }
75
+ },
76
+ "scale": {
77
+ "true": {
78
+ "root": "lg:scale-[1.1] lg:z-[1]"
79
+ }
80
+ }
81
+ },
82
+ "compoundVariants": [
83
+ {
84
+ "orientation": "horizontal" as typeof orientation[number],
85
+ "variant": "soft" as typeof variant[number],
86
+ "class": {
87
+ "root": "divide-accented"
88
+ }
89
+ },
90
+ {
91
+ "orientation": "horizontal" as typeof orientation[number],
92
+ "variant": "subtle" as typeof variant[number],
93
+ "class": {
94
+ "root": "divide-accented"
95
+ }
96
+ }
97
+ ],
98
+ "defaultVariants": {
99
+ "variant": "outline" as typeof variant[number]
100
+ }
101
+ }
@@ -0,0 +1,22 @@
1
+ export default {
2
+ "base": "flex flex-col gap-y-8",
3
+ "variants": {
4
+ "orientation": {
5
+ "horizontal": "lg:grid lg:grid-cols-[repeat(var(--count),minmax(0,1fr))]",
6
+ "vertical": ""
7
+ },
8
+ "compact": {
9
+ "false": "gap-x-8"
10
+ },
11
+ "scale": {
12
+ "true": ""
13
+ }
14
+ },
15
+ "compoundVariants": [
16
+ {
17
+ "compact": false,
18
+ "scale": true,
19
+ "class": "lg:gap-x-13"
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,51 @@
1
+ export default {
2
+ "slots": {
3
+ "root": "w-full relative",
4
+ "table": "w-full table-fixed border-separate border-spacing-x-0 hidden md:table",
5
+ "list": "md:hidden flex flex-col gap-6 w-full",
6
+ "item": "p-6 flex flex-col border border-default rounded-lg",
7
+ "caption": "sr-only",
8
+ "thead": "",
9
+ "tbody": "",
10
+ "tr": "",
11
+ "th": "py-4 font-normal text-left border-b border-default",
12
+ "td": "px-6 py-4 text-center border-b border-default",
13
+ "tier": "p-6 text-left font-normal",
14
+ "tierTitleWrapper": "flex items-center gap-3",
15
+ "tierTitle": "text-lg font-semibold text-highlighted",
16
+ "tierDescription": "text-sm font-normal text-muted mt-1",
17
+ "tierBadge": "truncate",
18
+ "tierPriceWrapper": "flex items-center gap-1 mt-4",
19
+ "tierPrice": "text-highlighted text-3xl sm:text-4xl font-semibold",
20
+ "tierDiscount": "text-muted line-through text-xl sm:text-2xl",
21
+ "tierBilling": "flex flex-col justify-between min-w-0",
22
+ "tierBillingPeriod": "text-toned truncate text-xs font-medium",
23
+ "tierBillingCycle": "text-muted truncate text-xs font-medium",
24
+ "tierButton": "mt-6",
25
+ "tierFeatureIcon": "size-5 shrink-0",
26
+ "section": "mt-6 flex flex-col gap-2",
27
+ "sectionTitle": "font-semibold text-sm text-highlighted",
28
+ "feature": "flex items-center justify-between gap-1",
29
+ "featureTitle": "text-sm text-default",
30
+ "featureValue": "text-sm text-muted flex justify-center min-w-5"
31
+ },
32
+ "variants": {
33
+ "section": {
34
+ "true": {
35
+ "tr": "*:pt-8"
36
+ }
37
+ },
38
+ "active": {
39
+ "true": {
40
+ "tierFeatureIcon": "text-primary"
41
+ }
42
+ },
43
+ "highlight": {
44
+ "true": {
45
+ "tier": "bg-elevated/50 border-x border-t border-default rounded-t-lg",
46
+ "td": "bg-elevated/50 border-x border-default",
47
+ "item": "bg-elevated/50"
48
+ }
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,297 @@
1
+ const animation = [
2
+ "carousel",
3
+ "carousel-inverse",
4
+ "swing",
5
+ "elastic"
6
+ ] as const
7
+
8
+ const color = [
9
+ "primary",
10
+ "secondary",
11
+ "success",
12
+ "info",
13
+ "warning",
14
+ "error",
15
+ "neutral"
16
+ ] as const
17
+
18
+ const size = [
19
+ "2xs",
20
+ "xs",
21
+ "sm",
22
+ "md",
23
+ "lg",
24
+ "xl",
25
+ "2xl"
26
+ ] as const
27
+
28
+ const step = [
29
+ "active",
30
+ "first",
31
+ "other",
32
+ "last"
33
+ ] as const
34
+
35
+ const orientation = [
36
+ "horizontal",
37
+ "vertical"
38
+ ] as const
39
+
40
+ export default {
41
+ "slots": {
42
+ "root": "gap-2",
43
+ "base": "relative overflow-hidden rounded-full bg-accented",
44
+ "indicator": "rounded-full size-full transition-transform duration-200 ease-out",
45
+ "status": "flex text-dimmed transition-[width] duration-200",
46
+ "steps": "grid items-end",
47
+ "step": "truncate text-end row-start-1 col-start-1 transition-opacity" as typeof step[number]
48
+ },
49
+ "variants": {
50
+ "animation": {
51
+ "carousel": "",
52
+ "carousel-inverse": "",
53
+ "swing": "",
54
+ "elastic": ""
55
+ },
56
+ "color": {
57
+ "primary": {
58
+ "indicator": "bg-primary",
59
+ "steps": "text-primary"
60
+ },
61
+ "secondary": {
62
+ "indicator": "bg-secondary",
63
+ "steps": "text-secondary"
64
+ },
65
+ "success": {
66
+ "indicator": "bg-success",
67
+ "steps": "text-success"
68
+ },
69
+ "info": {
70
+ "indicator": "bg-info",
71
+ "steps": "text-info"
72
+ },
73
+ "warning": {
74
+ "indicator": "bg-warning",
75
+ "steps": "text-warning"
76
+ },
77
+ "error": {
78
+ "indicator": "bg-error",
79
+ "steps": "text-error"
80
+ },
81
+ "neutral": {
82
+ "indicator": "bg-inverted",
83
+ "steps": "text-inverted"
84
+ }
85
+ },
86
+ "size": {
87
+ "2xs": {
88
+ "status": "text-xs",
89
+ "steps": "text-xs"
90
+ },
91
+ "xs": {
92
+ "status": "text-xs",
93
+ "steps": "text-xs"
94
+ },
95
+ "sm": {
96
+ "status": "text-sm",
97
+ "steps": "text-sm"
98
+ },
99
+ "md": {
100
+ "status": "text-sm",
101
+ "steps": "text-sm"
102
+ },
103
+ "lg": {
104
+ "status": "text-sm",
105
+ "steps": "text-sm"
106
+ },
107
+ "xl": {
108
+ "status": "text-base",
109
+ "steps": "text-base"
110
+ },
111
+ "2xl": {
112
+ "status": "text-base",
113
+ "steps": "text-base"
114
+ }
115
+ },
116
+ "step": {
117
+ "active": {
118
+ "step": "opacity-100" as typeof step[number]
119
+ },
120
+ "first": {
121
+ "step": "opacity-100 text-muted" as typeof step[number]
122
+ },
123
+ "other": {
124
+ "step": "opacity-0" as typeof step[number]
125
+ },
126
+ "last": {
127
+ "step": ""
128
+ }
129
+ },
130
+ "orientation": {
131
+ "horizontal": {
132
+ "root": "w-full flex flex-col",
133
+ "base": "w-full",
134
+ "status": "flex-row items-center justify-end min-w-fit"
135
+ },
136
+ "vertical": {
137
+ "root": "h-full flex flex-row-reverse",
138
+ "base": "h-full",
139
+ "status": "flex-col justify-end min-h-fit"
140
+ }
141
+ },
142
+ "inverted": {
143
+ "true": {
144
+ "status": "self-end"
145
+ }
146
+ }
147
+ },
148
+ "compoundVariants": [
149
+ {
150
+ "inverted": true,
151
+ "orientation": "horizontal" as typeof orientation[number],
152
+ "class": {
153
+ "step": "text-start" as typeof step[number],
154
+ "status": "flex-row-reverse"
155
+ }
156
+ },
157
+ {
158
+ "inverted": true,
159
+ "orientation": "vertical" as typeof orientation[number],
160
+ "class": {
161
+ "steps": "items-start",
162
+ "status": "flex-col-reverse"
163
+ }
164
+ },
165
+ {
166
+ "orientation": "horizontal" as typeof orientation[number],
167
+ "size": "2xs" as typeof size[number],
168
+ "class": "h-px"
169
+ },
170
+ {
171
+ "orientation": "horizontal" as typeof orientation[number],
172
+ "size": "xs" as typeof size[number],
173
+ "class": "h-0.5"
174
+ },
175
+ {
176
+ "orientation": "horizontal" as typeof orientation[number],
177
+ "size": "sm" as typeof size[number],
178
+ "class": "h-1"
179
+ },
180
+ {
181
+ "orientation": "horizontal" as typeof orientation[number],
182
+ "size": "md" as typeof size[number],
183
+ "class": "h-2"
184
+ },
185
+ {
186
+ "orientation": "horizontal" as typeof orientation[number],
187
+ "size": "lg" as typeof size[number],
188
+ "class": "h-3"
189
+ },
190
+ {
191
+ "orientation": "horizontal" as typeof orientation[number],
192
+ "size": "xl" as typeof size[number],
193
+ "class": "h-4"
194
+ },
195
+ {
196
+ "orientation": "horizontal" as typeof orientation[number],
197
+ "size": "2xl" as typeof size[number],
198
+ "class": "h-5"
199
+ },
200
+ {
201
+ "orientation": "vertical" as typeof orientation[number],
202
+ "size": "2xs" as typeof size[number],
203
+ "class": "w-px"
204
+ },
205
+ {
206
+ "orientation": "vertical" as typeof orientation[number],
207
+ "size": "xs" as typeof size[number],
208
+ "class": "w-0.5"
209
+ },
210
+ {
211
+ "orientation": "vertical" as typeof orientation[number],
212
+ "size": "sm" as typeof size[number],
213
+ "class": "w-1"
214
+ },
215
+ {
216
+ "orientation": "vertical" as typeof orientation[number],
217
+ "size": "md" as typeof size[number],
218
+ "class": "w-2"
219
+ },
220
+ {
221
+ "orientation": "vertical" as typeof orientation[number],
222
+ "size": "lg" as typeof size[number],
223
+ "class": "w-3"
224
+ },
225
+ {
226
+ "orientation": "vertical" as typeof orientation[number],
227
+ "size": "xl" as typeof size[number],
228
+ "class": "w-4"
229
+ },
230
+ {
231
+ "orientation": "vertical" as typeof orientation[number],
232
+ "size": "2xl" as typeof size[number],
233
+ "class": "w-5"
234
+ },
235
+ {
236
+ "orientation": "horizontal" as typeof orientation[number],
237
+ "animation": "carousel" as typeof animation[number],
238
+ "class": {
239
+ "indicator": "data-[state=indeterminate]:animate-[carousel_2s_ease-in-out_infinite] data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_ease-in-out_infinite]"
240
+ }
241
+ },
242
+ {
243
+ "orientation": "vertical" as typeof orientation[number],
244
+ "animation": "carousel" as typeof animation[number],
245
+ "class": {
246
+ "indicator": "data-[state=indeterminate]:animate-[carousel-vertical_2s_ease-in-out_infinite]"
247
+ }
248
+ },
249
+ {
250
+ "orientation": "horizontal" as typeof orientation[number],
251
+ "animation": "carousel-inverse" as typeof animation[number],
252
+ "class": {
253
+ "indicator": "data-[state=indeterminate]:animate-[carousel-inverse_2s_ease-in-out_infinite] data-[state=indeterminate]:rtl:animate-[carousel-inverse-rtl_2s_ease-in-out_infinite]"
254
+ }
255
+ },
256
+ {
257
+ "orientation": "vertical" as typeof orientation[number],
258
+ "animation": "carousel-inverse" as typeof animation[number],
259
+ "class": {
260
+ "indicator": "data-[state=indeterminate]:animate-[carousel-inverse-vertical_2s_ease-in-out_infinite]"
261
+ }
262
+ },
263
+ {
264
+ "orientation": "horizontal" as typeof orientation[number],
265
+ "animation": "swing" as typeof animation[number],
266
+ "class": {
267
+ "indicator": "data-[state=indeterminate]:animate-[swing_2s_ease-in-out_infinite]"
268
+ }
269
+ },
270
+ {
271
+ "orientation": "vertical" as typeof orientation[number],
272
+ "animation": "swing" as typeof animation[number],
273
+ "class": {
274
+ "indicator": "data-[state=indeterminate]:animate-[swing-vertical_2s_ease-in-out_infinite]"
275
+ }
276
+ },
277
+ {
278
+ "orientation": "horizontal" as typeof orientation[number],
279
+ "animation": "elastic" as typeof animation[number],
280
+ "class": {
281
+ "indicator": "data-[state=indeterminate]:animate-[elastic_2s_ease-in-out_infinite]"
282
+ }
283
+ },
284
+ {
285
+ "orientation": "vertical" as typeof orientation[number],
286
+ "animation": "elastic" as typeof animation[number],
287
+ "class": {
288
+ "indicator": "data-[state=indeterminate]:animate-[elastic-vertical_2s_ease-in-out_infinite]"
289
+ }
290
+ }
291
+ ],
292
+ "defaultVariants": {
293
+ "animation": "carousel" as typeof animation[number],
294
+ "color": "primary" as typeof color[number],
295
+ "size": "md" as typeof size[number]
296
+ }
297
+ }