@fy-/fws-vue 0.2.9 → 0.3.1

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 (180) hide show
  1. package/components/ui/DefaultInput.vue +204 -213
  2. package/package.json +2 -12
  3. package/presets/Lara/accordion/index.js +0 -86
  4. package/presets/Lara/autocomplete/index.js +0 -284
  5. package/presets/Lara/avatar/index.js +0 -46
  6. package/presets/Lara/badge/index.js +0 -44
  7. package/presets/Lara/badgedirective/index.js +0 -49
  8. package/presets/Lara/blockui/index.js +0 -8
  9. package/presets/Lara/breadcrumb/index.js +0 -64
  10. package/presets/Lara/button/index.js +0 -470
  11. package/presets/Lara/calendar/index.js +0 -683
  12. package/presets/Lara/card/index.js +0 -37
  13. package/presets/Lara/carousel/index.js +0 -152
  14. package/presets/Lara/cascadeselect/index.js +0 -228
  15. package/presets/Lara/checkbox/index.js +0 -106
  16. package/presets/Lara/chip/index.js +0 -45
  17. package/presets/Lara/chips/index.js +0 -118
  18. package/presets/Lara/colorpicker/index.js +0 -129
  19. package/presets/Lara/confirmpopup/index.js +0 -107
  20. package/presets/Lara/contextmenu/index.js +0 -130
  21. package/presets/Lara/datatable/index.js +0 -1289
  22. package/presets/Lara/dataview/index.js +0 -40
  23. package/presets/Lara/deferred/index.js +0 -3
  24. package/presets/Lara/dialog/index.js +0 -249
  25. package/presets/Lara/divider/index.js +0 -72
  26. package/presets/Lara/dock/index.js +0 -97
  27. package/presets/Lara/dropdown/index.js +0 -300
  28. package/presets/Lara/fieldset/index.js +0 -98
  29. package/presets/Lara/fileupload/index.js +0 -173
  30. package/presets/Lara/floatlabel/index.js +0 -26
  31. package/presets/Lara/galleria/index.js +0 -351
  32. package/presets/Lara/global.js +0 -90
  33. package/presets/Lara/iconfield/index.js +0 -22
  34. package/presets/Lara/image/index.js +0 -206
  35. package/presets/Lara/index.js +0 -181
  36. package/presets/Lara/inlinemessage/index.js +0 -36
  37. package/presets/Lara/inplace/index.js +0 -27
  38. package/presets/Lara/inputgroup/index.js +0 -5
  39. package/presets/Lara/inputgroupaddon/index.js +0 -28
  40. package/presets/Lara/inputmask/index.js +0 -37
  41. package/presets/Lara/inputnumber/index.js +0 -253
  42. package/presets/Lara/inputotp/index.js +0 -72
  43. package/presets/Lara/inputswitch/index.js +0 -93
  44. package/presets/Lara/inputtext/index.js +0 -61
  45. package/presets/Lara/knob/index.js +0 -47
  46. package/presets/Lara/listbox/index.js +0 -170
  47. package/presets/Lara/megamenu/index.js +0 -207
  48. package/presets/Lara/menu/index.js +0 -98
  49. package/presets/Lara/menubar/index.js +0 -181
  50. package/presets/Lara/message/index.js +0 -87
  51. package/presets/Lara/metergroup/index.js +0 -110
  52. package/presets/Lara/multiselect/index.js +0 -589
  53. package/presets/Lara/orderlist/index.js +0 -266
  54. package/presets/Lara/organizationchart/index.js +0 -142
  55. package/presets/Lara/overlaypanel/index.js +0 -41
  56. package/presets/Lara/paginator/index.js +0 -590
  57. package/presets/Lara/panel/index.js +0 -93
  58. package/presets/Lara/panelmenu/index.js +0 -139
  59. package/presets/Lara/password/index.js +0 -140
  60. package/presets/Lara/picklist/index.js +0 -659
  61. package/presets/Lara/progressbar/index.js +0 -61
  62. package/presets/Lara/progressspinner/index.js +0 -51
  63. package/presets/Lara/radiobutton/index.js +0 -116
  64. package/presets/Lara/rating/index.js +0 -95
  65. package/presets/Lara/ripple/index.js +0 -6
  66. package/presets/Lara/scrollpanel/index.js +0 -77
  67. package/presets/Lara/scrolltop/index.js +0 -45
  68. package/presets/Lara/selectbutton/index.js +0 -60
  69. package/presets/Lara/sidebar/index.js +0 -163
  70. package/presets/Lara/skeleton/index.js +0 -19
  71. package/presets/Lara/slider/index.js +0 -149
  72. package/presets/Lara/speeddial/index.js +0 -535
  73. package/presets/Lara/splitbutton/index.js +0 -1081
  74. package/presets/Lara/splitter/index.js +0 -64
  75. package/presets/Lara/stepper/index.js +0 -183
  76. package/presets/Lara/steps/index.js +0 -115
  77. package/presets/Lara/tabmenu/index.js +0 -82
  78. package/presets/Lara/tabview/index.js +0 -166
  79. package/presets/Lara/tag/index.js +0 -37
  80. package/presets/Lara/terminal/index.js +0 -60
  81. package/presets/Lara/textarea/index.js +0 -39
  82. package/presets/Lara/tieredmenu/index.js +0 -125
  83. package/presets/Lara/timeline/index.js +0 -107
  84. package/presets/Lara/toast/index.js +0 -113
  85. package/presets/Lara/togglebutton/index.js +0 -100
  86. package/presets/Lara/toolbar/index.js +0 -28
  87. package/presets/Lara/tooltip/index.js +0 -73
  88. package/presets/Lara/tree/index.js +0 -281
  89. package/presets/Lara/treeselect/index.js +0 -387
  90. package/presets/Lara/treetable/index.js +0 -509
  91. package/presets/Lara/tristatecheckbox/index.js +0 -112
  92. package/presets/Wind/accordion/index.js +0 -75
  93. package/presets/Wind/autocomplete/index.js +0 -294
  94. package/presets/Wind/avatar/index.js +0 -48
  95. package/presets/Wind/badge/index.js +0 -43
  96. package/presets/Wind/badgedirective/index.js +0 -50
  97. package/presets/Wind/blockui/index.js +0 -8
  98. package/presets/Wind/breadcrumb/index.js +0 -45
  99. package/presets/Wind/button/index.js +0 -474
  100. package/presets/Wind/calendar/index.js +0 -659
  101. package/presets/Wind/card/index.js +0 -40
  102. package/presets/Wind/carousel/index.js +0 -152
  103. package/presets/Wind/cascadeselect/index.js +0 -225
  104. package/presets/Wind/checkbox/index.js +0 -112
  105. package/presets/Wind/chip/index.js +0 -45
  106. package/presets/Wind/chips/index.js +0 -120
  107. package/presets/Wind/colorpicker/index.js +0 -129
  108. package/presets/Wind/confirmpopup/index.js +0 -123
  109. package/presets/Wind/contextmenu/index.js +0 -128
  110. package/presets/Wind/datatable/index.js +0 -1330
  111. package/presets/Wind/dataview/index.js +0 -40
  112. package/presets/Wind/deferred/index.js +0 -3
  113. package/presets/Wind/dialog/index.js +0 -251
  114. package/presets/Wind/divider/index.js +0 -72
  115. package/presets/Wind/dock/index.js +0 -97
  116. package/presets/Wind/dropdown/index.js +0 -287
  117. package/presets/Wind/fieldset/index.js +0 -99
  118. package/presets/Wind/fileupload/index.js +0 -173
  119. package/presets/Wind/floatlabel/index.js +0 -26
  120. package/presets/Wind/galleria/index.js +0 -351
  121. package/presets/Wind/global.js +0 -77
  122. package/presets/Wind/iconfield/index.js +0 -22
  123. package/presets/Wind/image/index.js +0 -206
  124. package/presets/Wind/index.js +0 -181
  125. package/presets/Wind/inlinemessage/index.js +0 -29
  126. package/presets/Wind/inplace/index.js +0 -30
  127. package/presets/Wind/inputgroup/index.js +0 -5
  128. package/presets/Wind/inputgroupaddon/index.js +0 -28
  129. package/presets/Wind/inputmask/index.js +0 -34
  130. package/presets/Wind/inputnumber/index.js +0 -244
  131. package/presets/Wind/inputotp/index.js +0 -72
  132. package/presets/Wind/inputswitch/index.js +0 -106
  133. package/presets/Wind/inputtext/index.js +0 -61
  134. package/presets/Wind/knob/index.js +0 -47
  135. package/presets/Wind/listbox/index.js +0 -159
  136. package/presets/Wind/megamenu/index.js +0 -218
  137. package/presets/Wind/menu/index.js +0 -111
  138. package/presets/Wind/menubar/index.js +0 -188
  139. package/presets/Wind/message/index.js +0 -87
  140. package/presets/Wind/metergroup/index.js +0 -110
  141. package/presets/Wind/multiselect/index.js +0 -619
  142. package/presets/Wind/orderlist/index.js +0 -275
  143. package/presets/Wind/organizationchart/index.js +0 -143
  144. package/presets/Wind/overlaypanel/index.js +0 -42
  145. package/presets/Wind/paginator/index.js +0 -596
  146. package/presets/Wind/panel/index.js +0 -95
  147. package/presets/Wind/panelmenu/index.js +0 -136
  148. package/presets/Wind/password/index.js +0 -141
  149. package/presets/Wind/picklist/index.js +0 -684
  150. package/presets/Wind/progressbar/index.js +0 -68
  151. package/presets/Wind/progressspinner/index.js +0 -51
  152. package/presets/Wind/radiobutton/index.js +0 -92
  153. package/presets/Wind/rating/index.js +0 -86
  154. package/presets/Wind/ripple/index.js +0 -6
  155. package/presets/Wind/scrollpanel/index.js +0 -77
  156. package/presets/Wind/scrolltop/index.js +0 -45
  157. package/presets/Wind/selectbutton/index.js +0 -58
  158. package/presets/Wind/sidebar/index.js +0 -165
  159. package/presets/Wind/skeleton/index.js +0 -19
  160. package/presets/Wind/slider/index.js +0 -135
  161. package/presets/Wind/speeddial/index.js +0 -536
  162. package/presets/Wind/splitbutton/index.js +0 -1078
  163. package/presets/Wind/splitter/index.js +0 -64
  164. package/presets/Wind/stepper/index.js +0 -180
  165. package/presets/Wind/steps/index.js +0 -132
  166. package/presets/Wind/tabmenu/index.js +0 -84
  167. package/presets/Wind/tabview/index.js +0 -168
  168. package/presets/Wind/tag/index.js +0 -37
  169. package/presets/Wind/terminal/index.js +0 -60
  170. package/presets/Wind/textarea/index.js +0 -40
  171. package/presets/Wind/tieredmenu/index.js +0 -121
  172. package/presets/Wind/timeline/index.js +0 -107
  173. package/presets/Wind/toast/index.js +0 -111
  174. package/presets/Wind/togglebutton/index.js +0 -91
  175. package/presets/Wind/toolbar/index.js +0 -30
  176. package/presets/Wind/tooltip/index.js +0 -43
  177. package/presets/Wind/tree/index.js +0 -300
  178. package/presets/Wind/treeselect/index.js +0 -404
  179. package/presets/Wind/treetable/index.js +0 -505
  180. package/presets/Wind/tristatecheckbox/index.js +0 -118
@@ -1,135 +0,0 @@
1
- export default {
2
- root: ({ props }) => ({
3
- class: [
4
- "relative",
5
- "flex items-center",
6
-
7
- // Size
8
- {
9
- "h-2 w-full min-w-[15rem]": props.orientation == "horizontal",
10
- "w-2 h-full min-h-[15rem]": props.orientation == "vertical",
11
- },
12
-
13
- // Shape
14
- "border-0 rounded-lg",
15
-
16
- // Colors
17
- "bg-surface-100 dark:bg-surface-700",
18
-
19
- // States
20
- {
21
- "opacity-60 select-none pointer-events-none cursor-default":
22
- props.disabled,
23
- },
24
- ],
25
- }),
26
- range: ({ props }) => ({
27
- class: [
28
- // Position
29
- "block absolute",
30
- {
31
- "top-0 left-0": props.orientation == "horizontal",
32
- "bottom-0 left-0": props.orientation == "vertical",
33
- },
34
-
35
- //Size
36
- {
37
- "h-full": props.orientation == "horizontal",
38
- "w-full": props.orientation == "vertical",
39
- },
40
-
41
- //Shape
42
- "rounded-lg",
43
-
44
- // Colors
45
- "bg-primary-500 dark:bg-primary-400",
46
- ],
47
- }),
48
- handle: ({ props }) => ({
49
- class: [
50
- "block",
51
-
52
- // Size
53
- "h-4",
54
- "w-4",
55
- {
56
- "top-[50%] mt-[-0.5rem] ml-[-0.5rem]":
57
- props.orientation == "horizontal",
58
- "left-[50%] mb-[-0.5rem] ml-[-0.5rem]": props.orientation == "vertical",
59
- },
60
-
61
- // Shape
62
- "rounded-full",
63
- "ring-2",
64
-
65
- // Colors
66
- "bg-surface-0 dark:bg-surface-900",
67
- "ring-primary-500 dark:ring-primary-400",
68
-
69
- // Transitions
70
- "transition duration-200",
71
-
72
- // Misc
73
- "cursor-grab",
74
- "touch-action-none",
75
- ],
76
- }),
77
- starthandler: ({ props }) => ({
78
- class: [
79
- "block",
80
-
81
- // Size
82
- "h-4",
83
- "w-4",
84
- {
85
- "top-[50%] mt-[-0.5rem] ml-[-0.5rem]":
86
- props.orientation == "horizontal",
87
- "left-[50%] mb-[-0.5rem] ml-[-0.5rem]": props.orientation == "vertical",
88
- },
89
-
90
- // Shape
91
- "rounded-full",
92
- "ring-2",
93
-
94
- // Colors
95
- "bg-surface-0 dark:bg-surface-900",
96
- "ring-primary-500 dark:ring-primary-400",
97
-
98
- // Transitions
99
- "transition duration-200",
100
-
101
- // Misc
102
- "cursor-grab",
103
- "touch-action-none",
104
- ],
105
- }),
106
- endhandler: ({ props }) => ({
107
- class: [
108
- "block",
109
-
110
- // Size
111
- "h-4",
112
- "w-4",
113
- {
114
- "top-[50%] mt-[-0.5rem] ml-[-0.5rem]":
115
- props.orientation == "horizontal",
116
- "left-[50%] mb-[-0.5rem] ml-[-0.5rem]": props.orientation == "vertical",
117
- },
118
-
119
- // Shape
120
- "rounded-full",
121
- "ring-2",
122
-
123
- // Colors
124
- "bg-surface-0 dark:bg-surface-900",
125
- "ring-primary-500 dark:ring-primary-400",
126
-
127
- // Transitions
128
- "transition duration-200",
129
-
130
- // Misc
131
- "cursor-grab",
132
- "touch-action-none",
133
- ],
134
- }),
135
- };
@@ -1,536 +0,0 @@
1
- export default {
2
- root: {
3
- class: "absolute flex",
4
- },
5
- button: {
6
- root: ({ props, context, parent }) => ({
7
- class: [
8
- "relative",
9
- "z-20",
10
-
11
- // Alignments
12
- "items-center inline-flex text-center align-bottom justify-center",
13
-
14
- // Sizes & Spacing
15
- "leading-[normal]",
16
- "w-12 h-12 p-0 py-3",
17
-
18
- // Shapes
19
- "rounded-full",
20
- "shadow-md",
21
-
22
- // Link Button
23
- { "text-primary-600 bg-transparent ring-transparent": props.link },
24
-
25
- // Plain Button
26
- {
27
- "text-white bg-gray-500 ring-1 ring-gray-500":
28
- props.plain && !props.outlined && !props.text,
29
- },
30
- // Plain Text Button
31
- { "text-surface-500": props.plain && props.text },
32
- // Plain Outlined Button
33
- {
34
- "text-surface-500 ring-1 ring-gray-500":
35
- props.plain && props.outlined,
36
- },
37
-
38
- // Text Button
39
- { "bg-transparent ring-transparent": props.text && !props.plain },
40
-
41
- // Outlined Button
42
- { "bg-transparent": props.outlined && !props.plain },
43
-
44
- // --- Severity Buttons ---
45
-
46
- // Primary Button
47
- {
48
- "text-white dark:text-surface-900":
49
- !props.link &&
50
- props.severity === null &&
51
- !props.text &&
52
- !props.outlined &&
53
- !props.plain,
54
- "bg-primary-500 dark:bg-primary-400":
55
- !props.link &&
56
- props.severity === null &&
57
- !props.text &&
58
- !props.outlined &&
59
- !props.plain,
60
- "ring-1 ring-primary-500 dark:ring-primary-400":
61
- !props.link &&
62
- props.severity === null &&
63
- !props.text &&
64
- !props.outlined &&
65
- !props.plain,
66
- },
67
- // Primary Text Button
68
- {
69
- "text-primary-500 dark:text-primary-400":
70
- props.text && props.severity === null && !props.plain,
71
- },
72
- // Primary Outlined Button
73
- {
74
- "text-primary-500 ring-1 ring-primary-500 hover:bg-primary-300/20":
75
- props.outlined && props.severity === null && !props.plain,
76
- },
77
-
78
- // Secondary Button
79
- {
80
- "text-white dark:text-surface-900":
81
- props.severity === "secondary" &&
82
- !props.text &&
83
- !props.outlined &&
84
- !props.plain,
85
- "bg-surface-500 dark:bg-surface-400":
86
- props.severity === "secondary" &&
87
- !props.text &&
88
- !props.outlined &&
89
- !props.plain,
90
- "ring-1 ring-surface-500 dark:ring-surface-400":
91
- props.severity === "secondary" &&
92
- !props.text &&
93
- !props.outlined &&
94
- !props.plain,
95
- },
96
- // Secondary Text Button
97
- {
98
- "text-surface-500 dark:text-surface-400":
99
- props.text && props.severity === "secondary" && !props.plain,
100
- },
101
- // Secondary Outlined Button
102
- {
103
- "text-surface-500 ring-1 ring-surface-500 hover:bg-surface-300/20":
104
- props.outlined && props.severity === "secondary" && !props.plain,
105
- },
106
-
107
- // Success Button
108
- {
109
- "text-white dark:text-green-900":
110
- props.severity === "success" &&
111
- !props.text &&
112
- !props.outlined &&
113
- !props.plain,
114
- "bg-green-500 dark:bg-green-400":
115
- props.severity === "success" &&
116
- !props.text &&
117
- !props.outlined &&
118
- !props.plain,
119
- "ring-1 ring-green-500 dark:ring-green-400":
120
- props.severity === "success" &&
121
- !props.text &&
122
- !props.outlined &&
123
- !props.plain,
124
- },
125
- // Success Text Button
126
- {
127
- "text-green-500 dark:text-green-400":
128
- props.text && props.severity === "success" && !props.plain,
129
- },
130
- // Success Outlined Button
131
- {
132
- "text-green-500 ring-1 ring-green-500 hover:bg-green-300/20":
133
- props.outlined && props.severity === "success" && !props.plain,
134
- },
135
-
136
- // Info Button
137
- {
138
- "text-white dark:text-surface-900":
139
- props.severity === "info" &&
140
- !props.text &&
141
- !props.outlined &&
142
- !props.plain,
143
- "bg-blue-500 dark:bg-blue-400":
144
- props.severity === "info" &&
145
- !props.text &&
146
- !props.outlined &&
147
- !props.plain,
148
- "ring-1 ring-blue-500 dark:ring-blue-400":
149
- props.severity === "info" &&
150
- !props.text &&
151
- !props.outlined &&
152
- !props.plain,
153
- },
154
- // Info Text Button
155
- {
156
- "text-blue-500 dark:text-blue-400":
157
- props.text && props.severity === "info" && !props.plain,
158
- },
159
- // Info Outlined Button
160
- {
161
- "text-blue-500 ring-1 ring-blue-500 hover:bg-blue-300/20 ":
162
- props.outlined && props.severity === "info" && !props.plain,
163
- },
164
-
165
- // Warning Button
166
- {
167
- "text-white dark:text-surface-900":
168
- props.severity === "warning" &&
169
- !props.text &&
170
- !props.outlined &&
171
- !props.plain,
172
- "bg-orange-500 dark:bg-orange-400":
173
- props.severity === "warning" &&
174
- !props.text &&
175
- !props.outlined &&
176
- !props.plain,
177
- "ring-1 ring-orange-500 dark:ring-orange-400":
178
- props.severity === "warning" &&
179
- !props.text &&
180
- !props.outlined &&
181
- !props.plain,
182
- },
183
- // Warning Text Button
184
- {
185
- "text-orange-500 dark:text-orange-400":
186
- props.text && props.severity === "warning" && !props.plain,
187
- },
188
- // Warning Outlined Button
189
- {
190
- "text-orange-500 ring-1 ring-orange-500 hover:bg-orange-300/20":
191
- props.outlined && props.severity === "warning" && !props.plain,
192
- },
193
-
194
- // Help Button
195
- {
196
- "text-white dark:text-surface-900":
197
- props.severity === "help" &&
198
- !props.text &&
199
- !props.outlined &&
200
- !props.plain,
201
- "bg-purple-500 dark:bg-purple-400":
202
- props.severity === "help" &&
203
- !props.text &&
204
- !props.outlined &&
205
- !props.plain,
206
- "ring-1 ring-purple-500 dark:ring-purple-400":
207
- props.severity === "help" &&
208
- !props.text &&
209
- !props.outlined &&
210
- !props.plain,
211
- },
212
- // Help Text Button
213
- {
214
- "text-purple-500 dark:text-purple-400":
215
- props.text && props.severity === "help" && !props.plain,
216
- },
217
- // Help Outlined Button
218
- {
219
- "text-purple-500 ring-1 ring-purple-500 hover:bg-purple-300/20":
220
- props.outlined && props.severity === "help" && !props.plain,
221
- },
222
-
223
- // Danger Button
224
- {
225
- "text-white dark:text-surface-900":
226
- props.severity === "danger" &&
227
- !props.text &&
228
- !props.outlined &&
229
- !props.plain,
230
- "bg-red-500 dark:bg-red-400":
231
- props.severity === "danger" &&
232
- !props.text &&
233
- !props.outlined &&
234
- !props.plain,
235
- "ring-1 ring-red-500 dark:ring-red-400":
236
- props.severity === "danger" &&
237
- !props.text &&
238
- !props.outlined &&
239
- !props.plain,
240
- },
241
- // Danger Text Button
242
- {
243
- "text-red-500 dark:text-red-400":
244
- props.text && props.severity === "danger" && !props.plain,
245
- },
246
- // Danger Outlined Button
247
- {
248
- "text-red-500 ring-1 ring-red-500 hover:bg-red-300/20":
249
- props.outlined && props.severity === "danger" && !props.plain,
250
- },
251
-
252
- // --- Severity Button States ---
253
- "focus:outline-none focus:outline-offset-0 focus:ring-2 focus:ring-offset-current",
254
- {
255
- "focus:ring-offset-2":
256
- !props.link && !props.plain && !props.outlined && !props.text,
257
- },
258
-
259
- // Link
260
- { "focus:ring-primary-500 dark:focus:ring-primary-400": props.link },
261
-
262
- // Plain
263
- {
264
- "hover:bg-gray-600 hover:ring-gray-600":
265
- props.plain && !props.outlined && !props.text,
266
- },
267
- // Text & Outlined Button
268
- {
269
- "hover:bg-surface-300/20":
270
- props.plain && (props.text || props.outlined),
271
- },
272
-
273
- // Primary
274
- {
275
- "hover:bg-primary-600 dark:hover:bg-primary-300 hover:ring-primary-600 dark:hover:ring-primary-300":
276
- !props.link &&
277
- props.severity === null &&
278
- !props.text &&
279
- !props.outlined &&
280
- !props.plain,
281
- },
282
- {
283
- "focus:ring-primary-500 dark:focus:ring-primary-400":
284
- props.severity === null,
285
- },
286
- // Text & Outlined Button
287
- {
288
- "hover:bg-primary-300/20":
289
- (props.text || props.outlined) &&
290
- props.severity === null &&
291
- !props.plain,
292
- },
293
-
294
- // Secondary
295
- {
296
- "hover:bg-surface-600 dark:hover:bg-surface-300 hover:ring-surface-600 dark:hover:ring-surface-300":
297
- props.severity === "secondary" &&
298
- !props.text &&
299
- !props.outlined &&
300
- !props.plain,
301
- },
302
- {
303
- "focus:ring-surface-500 dark:focus:ring-surface-400":
304
- props.severity === "secondary",
305
- },
306
- // Text & Outlined Button
307
- {
308
- "hover:bg-surface-300/20":
309
- (props.text || props.outlined) &&
310
- props.severity === "secondary" &&
311
- !props.plain,
312
- },
313
-
314
- // Success
315
- {
316
- "hover:bg-green-600 dark:hover:bg-green-300 hover:ring-green-600 dark:hover:ring-green-300":
317
- props.severity === "success" &&
318
- !props.text &&
319
- !props.outlined &&
320
- !props.plain,
321
- },
322
- {
323
- "focus:ring-green-500 dark:focus:ring-green-400":
324
- props.severity === "success",
325
- },
326
- // Text & Outlined Button
327
- {
328
- "hover:bg-green-300/20":
329
- (props.text || props.outlined) &&
330
- props.severity === "success" &&
331
- !props.plain,
332
- },
333
-
334
- // Info
335
- {
336
- "hover:bg-blue-600 dark:hover:bg-blue-300 hover:ring-blue-600 dark:hover:ring-blue-300":
337
- props.severity === "info" &&
338
- !props.text &&
339
- !props.outlined &&
340
- !props.plain,
341
- },
342
- {
343
- "focus:ring-blue-500 dark:focus:ring-blue-400":
344
- props.severity === "info",
345
- },
346
- // Text & Outlined Button
347
- {
348
- "hover:bg-blue-300/20":
349
- (props.text || props.outlined) &&
350
- props.severity === "info" &&
351
- !props.plain,
352
- },
353
-
354
- // Warning
355
- {
356
- "hover:bg-orange-600 dark:hover:bg-orange-300 hover:ring-orange-600 dark:hover:ring-orange-300":
357
- props.severity === "warning" &&
358
- !props.text &&
359
- !props.outlined &&
360
- !props.plain,
361
- },
362
- {
363
- "focus:ring-orange-500 dark:focus:ring-orange-400":
364
- props.severity === "warning",
365
- },
366
- // Text & Outlined Button
367
- {
368
- "hover:bg-orange-300/20":
369
- (props.text || props.outlined) &&
370
- props.severity === "warning" &&
371
- !props.plain,
372
- },
373
-
374
- // Help
375
- {
376
- "hover:bg-purple-600 dark:hover:bg-purple-300 hover:ring-purple-600 dark:hover:ring-purple-300":
377
- props.severity === "help" &&
378
- !props.text &&
379
- !props.outlined &&
380
- !props.plain,
381
- },
382
- {
383
- "focus:ring-purple-500 dark:focus:ring-purple-400":
384
- props.severity === "help",
385
- },
386
- // Text & Outlined Button
387
- {
388
- "hover:bg-purple-300/20":
389
- (props.text || props.outlined) &&
390
- props.severity === "help" &&
391
- !props.plain,
392
- },
393
-
394
- // Danger
395
- {
396
- "hover:bg-red-600 dark:hover:bg-red-300 hover:ring-red-600 dark:hover:ring-red-300":
397
- props.severity === "danger" &&
398
- !props.text &&
399
- !props.outlined &&
400
- !props.plain,
401
- },
402
- {
403
- "focus:ring-red-500 dark:focus:ring-red-400":
404
- props.severity === "danger",
405
- },
406
- // Text & Outlined Button
407
- {
408
- "hover:bg-red-300/20":
409
- (props.text || props.outlined) &&
410
- props.severity === "danger" &&
411
- !props.plain,
412
- },
413
-
414
- // Disabled
415
- { "opacity-60 pointer-events-none cursor-default": context.disabled },
416
-
417
- // Transitions
418
- "transition duration-200 ease-in-out",
419
- parent.state.d_visible ? "rotate-45" : "rotate-0",
420
-
421
- // Misc
422
- "cursor-pointer overflow-hidden select-none",
423
- ],
424
- }),
425
- label: ({ props }) => ({
426
- class: [
427
- "duration-200",
428
- "font-semibold",
429
- {
430
- "hover:underline": props.link,
431
- },
432
- {
433
- "flex-1": props.label !== null,
434
- "invisible w-0": props.label == null,
435
- },
436
- ],
437
- }),
438
- icon: ({ props }) => ({
439
- class: [
440
- "mx-0",
441
- {
442
- "mr-2": props.iconPos == "left" && props.label != null,
443
- "ml-2 order-1": props.iconPos == "right" && props.label != null,
444
- "mb-2": props.iconPos == "top" && props.label != null,
445
- "mt-2": props.iconPos == "bottom" && props.label != null,
446
- },
447
- ],
448
- }),
449
- loadingicon: ({ props }) => ({
450
- class: [
451
- "h-3 w-3",
452
- "mx-0",
453
- {
454
- "mr-2": props.iconPos == "left" && props.label != null,
455
- "ml-2 order-1": props.iconPos == "right" && props.label != null,
456
- "mb-2": props.iconPos == "top" && props.label != null,
457
- "mt-2": props.iconPos == "bottom" && props.label != null,
458
- },
459
- "animate-spin",
460
- ],
461
- }),
462
- badge: ({ props }) => ({
463
- class: [
464
- {
465
- "ml-2 w-4 h-4 leading-none flex items-center justify-center":
466
- props.badge,
467
- },
468
- ],
469
- }),
470
- },
471
- menu: {
472
- class: [
473
- // Spacing
474
- "m-0 p-0",
475
-
476
- // Layout & Flexbox
477
- "list-none flex items-center justify-center",
478
-
479
- // Transitions
480
- "transition delay-200",
481
-
482
- // Z-Index (Positioning)
483
- "z-20",
484
- ],
485
- },
486
- menuitem: ({ props, context }) => ({
487
- class: [
488
- "transform transition-transform duration-200 ease-out transition-opacity duration-800",
489
-
490
- // Conditional Appearance
491
- context.hidden ? "opacity-0 scale-0" : "opacity-100 scale-100",
492
-
493
- // Conditional Spacing
494
- {
495
- "my-1 first:mb-2": props.direction == "up" && props.type == "linear",
496
- "my-1 first:mt-2": props.direction == "down" && props.type == "linear",
497
- "mx-1 first:mr-2": props.direction == "left" && props.type == "linear",
498
- "mx-1 first:ml-2": props.direction == "right" && props.type == "linear",
499
- },
500
-
501
- // Conditional Positioning
502
- { absolute: props.type !== "linear" },
503
- ],
504
- }),
505
- action: {
506
- class: [
507
- // Flexbox & Alignment
508
- "flex items-center justify-center",
509
-
510
- // Size
511
- "w-12 h-12",
512
-
513
- // Shape
514
- "rounded-full relative overflow-hidden",
515
-
516
- // Appearance
517
- "bg-surface-600 dark:bg-surface-0/80 text-white dark:text-surface-900/80",
518
-
519
- // Hover Effects
520
- "hover:bg-surface-700 dark:hover:bg-surface-200/80",
521
- ],
522
- },
523
- mask: ({ state }) => ({
524
- class: [
525
- // Base Styles
526
- "absolute left-0 top-0 w-full h-full transition-opacity duration-250 ease-in-out bg-surface-900/40 backdrop-blur-sm z-0",
527
-
528
- // Conditional Appearance
529
- {
530
- "opacity-0 pointer-events-none": !state.d_visible,
531
- "opacity-100 transition-opacity duration-400 ease-in-out":
532
- state.d_visible,
533
- },
534
- ],
535
- }),
536
- };