@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 color = [
2
+ "primary",
3
+ "secondary",
4
+ "success",
5
+ "info",
6
+ "warning",
7
+ "error",
8
+ "neutral"
9
+ ] as const
10
+
11
+ const size = [
12
+ "xs",
13
+ "sm",
14
+ "md",
15
+ "lg",
16
+ "xl"
17
+ ] as const
18
+
19
+ const orientation = [
20
+ "horizontal",
21
+ "vertical"
22
+ ] as const
23
+
24
+ export default {
25
+ "slots": {
26
+ "root": "relative flex items-center select-none touch-none",
27
+ "track": "relative bg-accented overflow-hidden rounded-full grow",
28
+ "range": "absolute rounded-full",
29
+ "thumb": "rounded-full bg-default ring-2 focus-visible:outline-2 focus-visible:outline-offset-2"
30
+ },
31
+ "variants": {
32
+ "color": {
33
+ "primary": {
34
+ "range": "bg-primary",
35
+ "thumb": "ring-primary focus-visible:outline-primary/50"
36
+ },
37
+ "secondary": {
38
+ "range": "bg-secondary",
39
+ "thumb": "ring-secondary focus-visible:outline-secondary/50"
40
+ },
41
+ "success": {
42
+ "range": "bg-success",
43
+ "thumb": "ring-success focus-visible:outline-success/50"
44
+ },
45
+ "info": {
46
+ "range": "bg-info",
47
+ "thumb": "ring-info focus-visible:outline-info/50"
48
+ },
49
+ "warning": {
50
+ "range": "bg-warning",
51
+ "thumb": "ring-warning focus-visible:outline-warning/50"
52
+ },
53
+ "error": {
54
+ "range": "bg-error",
55
+ "thumb": "ring-error focus-visible:outline-error/50"
56
+ },
57
+ "neutral": {
58
+ "range": "bg-inverted",
59
+ "thumb": "ring-inverted focus-visible:outline-inverted/50"
60
+ }
61
+ },
62
+ "size": {
63
+ "xs": {
64
+ "thumb": "size-3"
65
+ },
66
+ "sm": {
67
+ "thumb": "size-3.5"
68
+ },
69
+ "md": {
70
+ "thumb": "size-4"
71
+ },
72
+ "lg": {
73
+ "thumb": "size-4.5"
74
+ },
75
+ "xl": {
76
+ "thumb": "size-5"
77
+ }
78
+ },
79
+ "orientation": {
80
+ "horizontal": {
81
+ "root": "w-full",
82
+ "range": "h-full"
83
+ },
84
+ "vertical": {
85
+ "root": "flex-col h-full",
86
+ "range": "w-full"
87
+ }
88
+ },
89
+ "disabled": {
90
+ "true": {
91
+ "root": "opacity-75 cursor-not-allowed"
92
+ }
93
+ }
94
+ },
95
+ "compoundVariants": [
96
+ {
97
+ "orientation": "horizontal" as typeof orientation[number],
98
+ "size": "xs" as typeof size[number],
99
+ "class": {
100
+ "track": "h-[6px]"
101
+ }
102
+ },
103
+ {
104
+ "orientation": "horizontal" as typeof orientation[number],
105
+ "size": "sm" as typeof size[number],
106
+ "class": {
107
+ "track": "h-[7px]"
108
+ }
109
+ },
110
+ {
111
+ "orientation": "horizontal" as typeof orientation[number],
112
+ "size": "md" as typeof size[number],
113
+ "class": {
114
+ "track": "h-[8px]"
115
+ }
116
+ },
117
+ {
118
+ "orientation": "horizontal" as typeof orientation[number],
119
+ "size": "lg" as typeof size[number],
120
+ "class": {
121
+ "track": "h-[9px]"
122
+ }
123
+ },
124
+ {
125
+ "orientation": "horizontal" as typeof orientation[number],
126
+ "size": "xl" as typeof size[number],
127
+ "class": {
128
+ "track": "h-[10px]"
129
+ }
130
+ },
131
+ {
132
+ "orientation": "vertical" as typeof orientation[number],
133
+ "size": "xs" as typeof size[number],
134
+ "class": {
135
+ "track": "w-[6px]"
136
+ }
137
+ },
138
+ {
139
+ "orientation": "vertical" as typeof orientation[number],
140
+ "size": "sm" as typeof size[number],
141
+ "class": {
142
+ "track": "w-[7px]"
143
+ }
144
+ },
145
+ {
146
+ "orientation": "vertical" as typeof orientation[number],
147
+ "size": "md" as typeof size[number],
148
+ "class": {
149
+ "track": "w-[8px]"
150
+ }
151
+ },
152
+ {
153
+ "orientation": "vertical" as typeof orientation[number],
154
+ "size": "lg" as typeof size[number],
155
+ "class": {
156
+ "track": "w-[9px]"
157
+ }
158
+ },
159
+ {
160
+ "orientation": "vertical" as typeof orientation[number],
161
+ "size": "xl" as typeof size[number],
162
+ "class": {
163
+ "track": "w-[10px]"
164
+ }
165
+ }
166
+ ],
167
+ "defaultVariants": {
168
+ "size": "md" as typeof size[number],
169
+ "color": "primary" as typeof color[number]
170
+ }
171
+ }
@@ -0,0 +1,202 @@
1
+ const orientation = [
2
+ "horizontal",
3
+ "vertical"
4
+ ] as const
5
+
6
+ const size = [
7
+ "xs",
8
+ "sm",
9
+ "md",
10
+ "lg",
11
+ "xl"
12
+ ] as const
13
+
14
+ const color = [
15
+ "primary",
16
+ "secondary",
17
+ "success",
18
+ "info",
19
+ "warning",
20
+ "error",
21
+ "neutral"
22
+ ] as const
23
+
24
+ export default {
25
+ "slots": {
26
+ "root": "flex gap-4",
27
+ "header": "flex",
28
+ "item": "group text-center relative w-full",
29
+ "container": "relative",
30
+ "trigger": "rounded-full font-medium text-center align-middle flex items-center justify-center font-semibold group-data-[state=completed]:text-inverted group-data-[state=active]:text-inverted text-muted bg-elevated focus-visible:outline-2 focus-visible:outline-offset-2",
31
+ "indicator": "flex items-center justify-center size-full",
32
+ "icon": "shrink-0",
33
+ "separator": "absolute rounded-full group-data-[disabled]:opacity-75 bg-accented",
34
+ "wrapper": "",
35
+ "title": "font-medium text-default",
36
+ "description": "text-muted text-wrap",
37
+ "content": "size-full"
38
+ },
39
+ "variants": {
40
+ "orientation": {
41
+ "horizontal": {
42
+ "root": "flex-col",
43
+ "container": "flex justify-center",
44
+ "separator": "top-[calc(50%-2px)] h-0.5",
45
+ "wrapper": "mt-1"
46
+ },
47
+ "vertical": {
48
+ "header": "flex-col gap-4",
49
+ "item": "flex text-start",
50
+ "separator": "start-[calc(50%-1px)] -bottom-[10px] w-0.5"
51
+ }
52
+ },
53
+ "size": {
54
+ "xs": {
55
+ "trigger": "size-6 text-xs",
56
+ "icon": "size-3",
57
+ "title": "text-xs",
58
+ "description": "text-xs",
59
+ "wrapper": "mt-1.5"
60
+ },
61
+ "sm": {
62
+ "trigger": "size-8 text-sm",
63
+ "icon": "size-4",
64
+ "title": "text-xs",
65
+ "description": "text-xs",
66
+ "wrapper": "mt-2"
67
+ },
68
+ "md": {
69
+ "trigger": "size-10 text-base",
70
+ "icon": "size-5",
71
+ "title": "text-sm",
72
+ "description": "text-sm",
73
+ "wrapper": "mt-2.5"
74
+ },
75
+ "lg": {
76
+ "trigger": "size-12 text-lg",
77
+ "icon": "size-6",
78
+ "title": "text-base",
79
+ "description": "text-base",
80
+ "wrapper": "mt-3"
81
+ },
82
+ "xl": {
83
+ "trigger": "size-14 text-xl",
84
+ "icon": "size-7",
85
+ "title": "text-lg",
86
+ "description": "text-lg",
87
+ "wrapper": "mt-3.5"
88
+ }
89
+ },
90
+ "color": {
91
+ "primary": {
92
+ "trigger": "group-data-[state=completed]:bg-primary group-data-[state=active]:bg-primary focus-visible:outline-primary",
93
+ "separator": "group-data-[state=completed]:bg-primary"
94
+ },
95
+ "secondary": {
96
+ "trigger": "group-data-[state=completed]:bg-secondary group-data-[state=active]:bg-secondary focus-visible:outline-secondary",
97
+ "separator": "group-data-[state=completed]:bg-secondary"
98
+ },
99
+ "success": {
100
+ "trigger": "group-data-[state=completed]:bg-success group-data-[state=active]:bg-success focus-visible:outline-success",
101
+ "separator": "group-data-[state=completed]:bg-success"
102
+ },
103
+ "info": {
104
+ "trigger": "group-data-[state=completed]:bg-info group-data-[state=active]:bg-info focus-visible:outline-info",
105
+ "separator": "group-data-[state=completed]:bg-info"
106
+ },
107
+ "warning": {
108
+ "trigger": "group-data-[state=completed]:bg-warning group-data-[state=active]:bg-warning focus-visible:outline-warning",
109
+ "separator": "group-data-[state=completed]:bg-warning"
110
+ },
111
+ "error": {
112
+ "trigger": "group-data-[state=completed]:bg-error group-data-[state=active]:bg-error focus-visible:outline-error",
113
+ "separator": "group-data-[state=completed]:bg-error"
114
+ },
115
+ "neutral": {
116
+ "trigger": "group-data-[state=completed]:bg-inverted group-data-[state=active]:bg-inverted focus-visible:outline-inverted",
117
+ "separator": "group-data-[state=completed]:bg-inverted"
118
+ }
119
+ }
120
+ },
121
+ "compoundVariants": [
122
+ {
123
+ "orientation": "horizontal" as typeof orientation[number],
124
+ "size": "xs" as typeof size[number],
125
+ "class": {
126
+ "separator": "start-[calc(50%+16px)] end-[calc(-50%+16px)]"
127
+ }
128
+ },
129
+ {
130
+ "orientation": "horizontal" as typeof orientation[number],
131
+ "size": "sm" as typeof size[number],
132
+ "class": {
133
+ "separator": "start-[calc(50%+20px)] end-[calc(-50%+20px)]"
134
+ }
135
+ },
136
+ {
137
+ "orientation": "horizontal" as typeof orientation[number],
138
+ "size": "md" as typeof size[number],
139
+ "class": {
140
+ "separator": "start-[calc(50%+28px)] end-[calc(-50%+28px)]"
141
+ }
142
+ },
143
+ {
144
+ "orientation": "horizontal" as typeof orientation[number],
145
+ "size": "lg" as typeof size[number],
146
+ "class": {
147
+ "separator": "start-[calc(50%+32px)] end-[calc(-50%+32px)]"
148
+ }
149
+ },
150
+ {
151
+ "orientation": "horizontal" as typeof orientation[number],
152
+ "size": "xl" as typeof size[number],
153
+ "class": {
154
+ "separator": "start-[calc(50%+36px)] end-[calc(-50%+36px)]"
155
+ }
156
+ },
157
+ {
158
+ "orientation": "vertical" as typeof orientation[number],
159
+ "size": "xs" as typeof size[number],
160
+ "class": {
161
+ "separator": "top-[30px]",
162
+ "item": "gap-1.5"
163
+ }
164
+ },
165
+ {
166
+ "orientation": "vertical" as typeof orientation[number],
167
+ "size": "sm" as typeof size[number],
168
+ "class": {
169
+ "separator": "top-[38px]",
170
+ "item": "gap-2"
171
+ }
172
+ },
173
+ {
174
+ "orientation": "vertical" as typeof orientation[number],
175
+ "size": "md" as typeof size[number],
176
+ "class": {
177
+ "separator": "top-[46px]",
178
+ "item": "gap-2.5"
179
+ }
180
+ },
181
+ {
182
+ "orientation": "vertical" as typeof orientation[number],
183
+ "size": "lg" as typeof size[number],
184
+ "class": {
185
+ "separator": "top-[54px]",
186
+ "item": "gap-3"
187
+ }
188
+ },
189
+ {
190
+ "orientation": "vertical" as typeof orientation[number],
191
+ "size": "xl" as typeof size[number],
192
+ "class": {
193
+ "separator": "top-[62px]",
194
+ "item": "gap-3.5"
195
+ }
196
+ }
197
+ ],
198
+ "defaultVariants": {
199
+ "size": "md" as typeof size[number],
200
+ "color": "primary" as typeof color[number]
201
+ }
202
+ }
@@ -0,0 +1,132 @@
1
+ const color = [
2
+ "primary",
3
+ "secondary",
4
+ "success",
5
+ "info",
6
+ "warning",
7
+ "error",
8
+ "neutral"
9
+ ] as const
10
+
11
+ const size = [
12
+ "xs",
13
+ "sm",
14
+ "md",
15
+ "lg",
16
+ "xl"
17
+ ] as const
18
+
19
+ export default {
20
+ "slots": {
21
+ "root": "relative flex items-start",
22
+ "base": [
23
+ "inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 data-[state=unchecked]:bg-accented",
24
+ "transition-[background] duration-200"
25
+ ],
26
+ "container": "flex items-center",
27
+ "thumb": "group pointer-events-none rounded-full bg-default shadow-lg ring-0 transition-transform duration-200 data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:-translate-x-0 flex items-center justify-center",
28
+ "icon": [
29
+ "absolute shrink-0 group-data-[state=unchecked]:text-dimmed opacity-0 size-10/12",
30
+ "transition-[color,opacity] duration-200"
31
+ ],
32
+ "wrapper": "ms-2",
33
+ "label": "block font-medium text-default",
34
+ "description": "text-muted"
35
+ },
36
+ "variants": {
37
+ "color": {
38
+ "primary": {
39
+ "base": "data-[state=checked]:bg-primary focus-visible:outline-primary",
40
+ "icon": "group-data-[state=checked]:text-primary"
41
+ },
42
+ "secondary": {
43
+ "base": "data-[state=checked]:bg-secondary focus-visible:outline-secondary",
44
+ "icon": "group-data-[state=checked]:text-secondary"
45
+ },
46
+ "success": {
47
+ "base": "data-[state=checked]:bg-success focus-visible:outline-success",
48
+ "icon": "group-data-[state=checked]:text-success"
49
+ },
50
+ "info": {
51
+ "base": "data-[state=checked]:bg-info focus-visible:outline-info",
52
+ "icon": "group-data-[state=checked]:text-info"
53
+ },
54
+ "warning": {
55
+ "base": "data-[state=checked]:bg-warning focus-visible:outline-warning",
56
+ "icon": "group-data-[state=checked]:text-warning"
57
+ },
58
+ "error": {
59
+ "base": "data-[state=checked]:bg-error focus-visible:outline-error",
60
+ "icon": "group-data-[state=checked]:text-error"
61
+ },
62
+ "neutral": {
63
+ "base": "data-[state=checked]:bg-inverted focus-visible:outline-inverted",
64
+ "icon": "group-data-[state=checked]:text-highlighted"
65
+ }
66
+ },
67
+ "size": {
68
+ "xs": {
69
+ "base": "w-7",
70
+ "container": "h-4",
71
+ "thumb": "size-3 data-[state=checked]:translate-x-3 data-[state=checked]:rtl:-translate-x-3",
72
+ "wrapper": "text-xs"
73
+ },
74
+ "sm": {
75
+ "base": "w-8",
76
+ "container": "h-4",
77
+ "thumb": "size-3.5 data-[state=checked]:translate-x-3.5 data-[state=checked]:rtl:-translate-x-3.5",
78
+ "wrapper": "text-xs"
79
+ },
80
+ "md": {
81
+ "base": "w-9",
82
+ "container": "h-5",
83
+ "thumb": "size-4 data-[state=checked]:translate-x-4 data-[state=checked]:rtl:-translate-x-4",
84
+ "wrapper": "text-sm"
85
+ },
86
+ "lg": {
87
+ "base": "w-10",
88
+ "container": "h-5",
89
+ "thumb": "size-4.5 data-[state=checked]:translate-x-4.5 data-[state=checked]:rtl:-translate-x-4.5",
90
+ "wrapper": "text-sm"
91
+ },
92
+ "xl": {
93
+ "base": "w-11",
94
+ "container": "h-6",
95
+ "thumb": "size-5 data-[state=checked]:translate-x-5 data-[state=checked]:rtl:-translate-x-5",
96
+ "wrapper": "text-base"
97
+ }
98
+ },
99
+ "checked": {
100
+ "true": {
101
+ "icon": "group-data-[state=checked]:opacity-100"
102
+ }
103
+ },
104
+ "unchecked": {
105
+ "true": {
106
+ "icon": "group-data-[state=unchecked]:opacity-100"
107
+ }
108
+ },
109
+ "loading": {
110
+ "true": {
111
+ "icon": "animate-spin"
112
+ }
113
+ },
114
+ "required": {
115
+ "true": {
116
+ "label": "after:content-['*'] after:ms-0.5 after:text-error"
117
+ }
118
+ },
119
+ "disabled": {
120
+ "true": {
121
+ "root": "opacity-75",
122
+ "base": "cursor-not-allowed",
123
+ "label": "cursor-not-allowed",
124
+ "description": "cursor-not-allowed"
125
+ }
126
+ }
127
+ },
128
+ "defaultVariants": {
129
+ "color": "primary" as typeof color[number],
130
+ "size": "md" as typeof size[number]
131
+ }
132
+ }
@@ -0,0 +1,162 @@
1
+ const loadingAnimation = [
2
+ "carousel",
3
+ "carousel-inverse",
4
+ "swing",
5
+ "elastic"
6
+ ] as const
7
+
8
+ const loadingColor = [
9
+ "primary",
10
+ "secondary",
11
+ "success",
12
+ "info",
13
+ "warning",
14
+ "error",
15
+ "neutral"
16
+ ] as const
17
+
18
+ export default {
19
+ "slots": {
20
+ "root": "relative overflow-auto",
21
+ "base": "min-w-full",
22
+ "caption": "sr-only",
23
+ "thead": "relative",
24
+ "tbody": "isolate [&>tr]:data-[selectable=true]:hover:bg-elevated/50 [&>tr]:data-[selectable=true]:focus-visible:outline-primary",
25
+ "tfoot": "relative",
26
+ "tr": "data-[selected=true]:bg-elevated/50",
27
+ "th": "px-4 py-3.5 text-sm text-highlighted text-left rtl:text-right font-semibold [&:has([role=checkbox])]:pe-0",
28
+ "td": "p-4 text-sm text-muted whitespace-nowrap [&:has([role=checkbox])]:pe-0",
29
+ "separator": "absolute z-1 left-0 w-full h-px bg-(--ui-border-accented)",
30
+ "empty": "py-6 text-center text-sm text-muted",
31
+ "loading": "py-6 text-center"
32
+ },
33
+ "variants": {
34
+ "virtualize": {
35
+ "false": {
36
+ "base": "overflow-clip",
37
+ "tbody": "divide-y divide-default"
38
+ }
39
+ },
40
+ "pinned": {
41
+ "true": {
42
+ "th": "sticky bg-default/75 z-1",
43
+ "td": "sticky bg-default/75 z-1"
44
+ }
45
+ },
46
+ "sticky": {
47
+ "true": {
48
+ "thead": "sticky top-0 inset-x-0 bg-default/75 backdrop-blur z-1",
49
+ "tfoot": "sticky bottom-0 inset-x-0 bg-default/75 backdrop-blur z-1"
50
+ },
51
+ "header": {
52
+ "thead": "sticky top-0 inset-x-0 bg-default/75 backdrop-blur z-1"
53
+ },
54
+ "footer": {
55
+ "tfoot": "sticky bottom-0 inset-x-0 bg-default/75 backdrop-blur z-1"
56
+ }
57
+ },
58
+ "loading": {
59
+ "true": {
60
+ "thead": "after:absolute after:z-1 after:h-px"
61
+ }
62
+ },
63
+ "loadingAnimation": {
64
+ "carousel": "",
65
+ "carousel-inverse": "",
66
+ "swing": "",
67
+ "elastic": ""
68
+ },
69
+ "loadingColor": {
70
+ "primary": "",
71
+ "secondary": "",
72
+ "success": "",
73
+ "info": "",
74
+ "warning": "",
75
+ "error": "",
76
+ "neutral": ""
77
+ }
78
+ },
79
+ "compoundVariants": [
80
+ {
81
+ "loading": true,
82
+ "loadingColor": "primary" as typeof loadingColor[number],
83
+ "class": {
84
+ "thead": "after:bg-primary"
85
+ }
86
+ },
87
+ {
88
+ "loading": true,
89
+ "loadingColor": "secondary" as typeof loadingColor[number],
90
+ "class": {
91
+ "thead": "after:bg-secondary"
92
+ }
93
+ },
94
+ {
95
+ "loading": true,
96
+ "loadingColor": "success" as typeof loadingColor[number],
97
+ "class": {
98
+ "thead": "after:bg-success"
99
+ }
100
+ },
101
+ {
102
+ "loading": true,
103
+ "loadingColor": "info" as typeof loadingColor[number],
104
+ "class": {
105
+ "thead": "after:bg-info"
106
+ }
107
+ },
108
+ {
109
+ "loading": true,
110
+ "loadingColor": "warning" as typeof loadingColor[number],
111
+ "class": {
112
+ "thead": "after:bg-warning"
113
+ }
114
+ },
115
+ {
116
+ "loading": true,
117
+ "loadingColor": "error" as typeof loadingColor[number],
118
+ "class": {
119
+ "thead": "after:bg-error"
120
+ }
121
+ },
122
+ {
123
+ "loading": true,
124
+ "loadingColor": "neutral" as typeof loadingColor[number],
125
+ "class": {
126
+ "thead": "after:bg-inverted"
127
+ }
128
+ },
129
+ {
130
+ "loading": true,
131
+ "loadingAnimation": "carousel" as typeof loadingAnimation[number],
132
+ "class": {
133
+ "thead": "after:animate-[carousel_2s_ease-in-out_infinite] rtl:after:animate-[carousel-rtl_2s_ease-in-out_infinite]"
134
+ }
135
+ },
136
+ {
137
+ "loading": true,
138
+ "loadingAnimation": "carousel-inverse" as typeof loadingAnimation[number],
139
+ "class": {
140
+ "thead": "after:animate-[carousel-inverse_2s_ease-in-out_infinite] rtl:after:animate-[carousel-inverse-rtl_2s_ease-in-out_infinite]"
141
+ }
142
+ },
143
+ {
144
+ "loading": true,
145
+ "loadingAnimation": "swing" as typeof loadingAnimation[number],
146
+ "class": {
147
+ "thead": "after:animate-[swing_2s_ease-in-out_infinite]"
148
+ }
149
+ },
150
+ {
151
+ "loading": true,
152
+ "loadingAnimation": "elastic" as typeof loadingAnimation[number],
153
+ "class": {
154
+ "thead": "after:animate-[elastic_2s_ease-in-out_infinite]"
155
+ }
156
+ }
157
+ ],
158
+ "defaultVariants": {
159
+ "loadingColor": "primary" as typeof loadingColor[number],
160
+ "loadingAnimation": "carousel" as typeof loadingAnimation[number]
161
+ }
162
+ }