@fewangsit/wangsvue-presets 1.0.81-alpha.0 → 1.0.81-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (299) hide show
  1. package/build.sh +32 -0
  2. package/dev.sh +22 -0
  3. package/dist +13 -0
  4. package/fixedasset/accordion/index.js +75 -0
  5. package/fixedasset/autocomplete/index.js +280 -0
  6. package/fixedasset/avatar/index.js +42 -0
  7. package/fixedasset/avatargroup/index.js +7 -0
  8. package/fixedasset/badge/index.js +54 -0
  9. package/fixedasset/badgedirective/index.js +50 -0
  10. package/fixedasset/badgegroup/index.js +30 -0
  11. package/fixedasset/breadcrumb/index.js +29 -0
  12. package/fixedasset/button/index.js +506 -0
  13. package/fixedasset/buttonbulkaction/index.js +35 -0
  14. package/fixedasset/buttondownload/index.js +12 -0
  15. package/fixedasset/buttonfilter/index.js +12 -0
  16. package/fixedasset/buttonradio/index.js +122 -0
  17. package/fixedasset/buttonsearch/index.js +53 -0
  18. package/fixedasset/calendar/index.js +684 -0
  19. package/fixedasset/card/index.js +32 -0
  20. package/fixedasset/carousel/index.js +134 -0
  21. package/fixedasset/cascadeselect/index.js +219 -0
  22. package/fixedasset/changelog/index.js +29 -0
  23. package/fixedasset/checkbox/index.js +127 -0
  24. package/fixedasset/chip/index.js +45 -0
  25. package/fixedasset/chips/index.js +112 -0
  26. package/fixedasset/colorpicker/index.js +134 -0
  27. package/fixedasset/colors.config.json +77 -0
  28. package/fixedasset/confirmpopup/index.js +122 -0
  29. package/fixedasset/contextmenu/index.js +122 -0
  30. package/fixedasset/datatable/index.js +246 -0
  31. package/fixedasset/dataview/index.js +40 -0
  32. package/fixedasset/dataviewlayoutoptions/index.js +64 -0
  33. package/fixedasset/datepicker/index.js +39 -0
  34. package/fixedasset/daypicker/index.js +38 -0
  35. package/fixedasset/dialog/index.js +249 -0
  36. package/fixedasset/dialogconfirm/index.js +42 -0
  37. package/fixedasset/dialogform/index.js +67 -0
  38. package/fixedasset/divider/index.js +72 -0
  39. package/fixedasset/dock/index.js +97 -0
  40. package/fixedasset/dropdown/index.js +230 -0
  41. package/fixedasset/fieldset/index.js +99 -0
  42. package/fixedasset/fileupload/index.js +23 -0
  43. package/fixedasset/form/index.js +42 -0
  44. package/fixedasset/global.js +87 -0
  45. package/{wangsvue/style.css → fixedasset/icons.css} +849 -5822
  46. package/fixedasset/image/index.js +128 -0
  47. package/fixedasset/index.css +65 -0
  48. package/{wangsvue/index.d.ts → fixedasset/index.js} +211 -190
  49. package/fixedasset/inlinemessage/index.js +26 -0
  50. package/fixedasset/inputbadge/index.js +41 -0
  51. package/fixedasset/inputcurrency/index.js +12 -0
  52. package/fixedasset/inputgroup/index.js +40 -0
  53. package/fixedasset/inputgroupaddon/index.js +34 -0
  54. package/fixedasset/inputmask/index.js +30 -0
  55. package/fixedasset/inputnumber/index.js +50 -0
  56. package/fixedasset/inputotp/index.js +70 -0
  57. package/fixedasset/inputphonenumber/index.js +19 -0
  58. package/fixedasset/inputswitch/index.js +114 -0
  59. package/fixedasset/inputtext/index.js +27 -0
  60. package/fixedasset/knob/index.js +47 -0
  61. package/fixedasset/listbox/index.js +156 -0
  62. package/fixedasset/megamenu/index.js +218 -0
  63. package/fixedasset/menu/index.js +119 -0
  64. package/fixedasset/menubar/index.js +186 -0
  65. package/fixedasset/message/index.js +87 -0
  66. package/fixedasset/multiselect/index.js +360 -0
  67. package/fixedasset/orderlist/index.js +275 -0
  68. package/fixedasset/organizationchart/index.js +143 -0
  69. package/fixedasset/overlaypanel/index.js +36 -0
  70. package/fixedasset/paginator/index.js +547 -0
  71. package/fixedasset/panel/index.js +95 -0
  72. package/fixedasset/panelmenu/index.js +136 -0
  73. package/fixedasset/password/index.js +98 -0
  74. package/fixedasset/picklist/index.js +684 -0
  75. package/fixedasset/progressbar/index.js +112 -0
  76. package/fixedasset/rating/index.js +86 -0
  77. package/fixedasset/ripple/index.js +6 -0
  78. package/fixedasset/scrollpanel/index.js +77 -0
  79. package/fixedasset/scrolltop/index.js +45 -0
  80. package/fixedasset/selectbutton/index.js +59 -0
  81. package/fixedasset/sidebar/index.js +165 -0
  82. package/fixedasset/skeleton/index.js +19 -0
  83. package/fixedasset/slider/index.js +135 -0
  84. package/fixedasset/splitbutton/index.js +957 -0
  85. package/fixedasset/steps/index.js +132 -0
  86. package/fixedasset/tabmenu/index.js +84 -0
  87. package/fixedasset/tabview/index.js +168 -0
  88. package/fixedasset/tag/index.js +37 -0
  89. package/fixedasset/tailwind.config.js +20 -0
  90. package/fixedasset/terminal/index.js +60 -0
  91. package/fixedasset/textarea/index.js +44 -0
  92. package/fixedasset/tieredmenu/index.js +121 -0
  93. package/fixedasset/timeline/index.js +70 -0
  94. package/fixedasset/toast/index.js +97 -0
  95. package/fixedasset/togglebutton/index.js +87 -0
  96. package/fixedasset/toolbar/index.js +30 -0
  97. package/fixedasset/tooltip/index.js +44 -0
  98. package/fixedasset/tree/index.js +298 -0
  99. package/fixedasset/treeselect/index.js +395 -0
  100. package/fixedasset/tristatecheckbox/index.js +128 -0
  101. package/fixedasset/validatormessage/index.js +7 -0
  102. package/fixedasset/workcalendar/index.js +27 -0
  103. package/{index.d.ts → index.ts} +1 -1
  104. package/package.json +2 -2
  105. package/release.sh +7 -0
  106. package/tsconfig.json +14 -0
  107. package/vite.config.ts +17 -0
  108. package/wangsvue/accordion/index.js +75 -70
  109. package/wangsvue/autocomplete/index.js +280 -247
  110. package/wangsvue/avatar/index.js +42 -44
  111. package/wangsvue/avatargroup/index.js +7 -9
  112. package/wangsvue/badge/index.js +54 -60
  113. package/wangsvue/badgedirective/index.js +50 -49
  114. package/wangsvue/badgegroup/index.js +30 -29
  115. package/wangsvue/breadcrumb/index.js +29 -31
  116. package/wangsvue/button/index.js +506 -423
  117. package/wangsvue/buttonbulkaction/index.js +35 -35
  118. package/wangsvue/buttondownload/index.js +12 -13
  119. package/wangsvue/buttonfilter/index.js +12 -13
  120. package/wangsvue/buttonradio/index.js +122 -109
  121. package/wangsvue/buttonsearch/index.js +53 -62
  122. package/wangsvue/calendar/index.js +684 -610
  123. package/wangsvue/card/index.js +32 -32
  124. package/wangsvue/carousel/index.js +134 -129
  125. package/wangsvue/cascadeselect/index.js +219 -191
  126. package/wangsvue/changelog/index.js +29 -31
  127. package/wangsvue/checkbox/index.js +127 -107
  128. package/wangsvue/chip/index.js +45 -40
  129. package/wangsvue/chips/index.js +112 -98
  130. package/wangsvue/colorpicker/index.js +134 -118
  131. package/wangsvue/confirmpopup/index.js +122 -104
  132. package/wangsvue/contextmenu/index.js +122 -113
  133. package/wangsvue/datatable/index.js +246 -253
  134. package/wangsvue/dataview/index.js +40 -36
  135. package/wangsvue/dataviewlayoutoptions/index.js +64 -58
  136. package/wangsvue/datepicker/index.js +39 -0
  137. package/wangsvue/daypicker/index.js +38 -0
  138. package/wangsvue/dialog/index.js +249 -220
  139. package/wangsvue/dialogconfirm/index.js +42 -45
  140. package/wangsvue/dialogform/index.js +67 -68
  141. package/wangsvue/divider/index.js +72 -64
  142. package/wangsvue/dock/index.js +97 -92
  143. package/wangsvue/dropdown/index.js +230 -207
  144. package/wangsvue/fieldset/index.js +99 -87
  145. package/wangsvue/fileupload/index.js +23 -31
  146. package/wangsvue/form/index.js +42 -44
  147. package/wangsvue/global.js +87 -14
  148. package/wangsvue/icons.css +850 -0
  149. package/wangsvue/image/index.js +128 -136
  150. package/wangsvue/index.css +65 -0
  151. package/wangsvue/index.js +211 -201
  152. package/wangsvue/inlinemessage/index.js +26 -30
  153. package/wangsvue/inputbadge/index.js +41 -57
  154. package/wangsvue/inputcurrency/index.js +12 -22
  155. package/wangsvue/inputgroup/index.js +40 -37
  156. package/wangsvue/inputgroupaddon/index.js +34 -34
  157. package/wangsvue/inputmask/index.js +30 -29
  158. package/wangsvue/inputnumber/index.js +50 -58
  159. package/wangsvue/inputotp/index.js +70 -63
  160. package/wangsvue/inputphonenumber/index.js +19 -34
  161. package/wangsvue/inputswitch/index.js +114 -100
  162. package/wangsvue/inputtext/index.js +27 -28
  163. package/wangsvue/knob/index.js +47 -45
  164. package/wangsvue/listbox/index.js +156 -138
  165. package/wangsvue/megamenu/index.js +218 -202
  166. package/wangsvue/menu/index.js +119 -110
  167. package/wangsvue/menubar/index.js +186 -172
  168. package/wangsvue/message/index.js +87 -85
  169. package/wangsvue/multiselect/index.js +360 -328
  170. package/wangsvue/orderlist/index.js +275 -245
  171. package/wangsvue/organizationchart/index.js +143 -129
  172. package/wangsvue/overlaypanel/index.js +36 -34
  173. package/wangsvue/paginator/index.js +547 -474
  174. package/wangsvue/panel/index.js +95 -85
  175. package/wangsvue/panelmenu/index.js +136 -124
  176. package/wangsvue/password/index.js +98 -96
  177. package/wangsvue/picklist/index.js +684 -613
  178. package/wangsvue/progressbar/index.js +112 -102
  179. package/wangsvue/rating/index.js +86 -88
  180. package/wangsvue/ripple/index.js +6 -8
  181. package/wangsvue/scrollpanel/index.js +77 -62
  182. package/wangsvue/scrolltop/index.js +45 -42
  183. package/wangsvue/selectbutton/index.js +59 -60
  184. package/wangsvue/sidebar/index.js +165 -145
  185. package/wangsvue/skeleton/index.js +19 -22
  186. package/wangsvue/slider/index.js +135 -126
  187. package/wangsvue/splitbutton/index.js +957 -786
  188. package/wangsvue/steps/index.js +132 -119
  189. package/wangsvue/tabmenu/index.js +84 -75
  190. package/wangsvue/tabview/index.js +168 -148
  191. package/wangsvue/tag/index.js +37 -37
  192. package/wangsvue/tailwind.config.js +20 -0
  193. package/wangsvue/terminal/index.js +60 -55
  194. package/wangsvue/textarea/index.js +44 -51
  195. package/wangsvue/tieredmenu/index.js +121 -108
  196. package/wangsvue/timeline/index.js +70 -83
  197. package/wangsvue/toast/index.js +97 -95
  198. package/wangsvue/togglebutton/index.js +87 -77
  199. package/wangsvue/toolbar/index.js +30 -29
  200. package/wangsvue/tooltip/index.js +44 -42
  201. package/wangsvue/tree/index.js +298 -256
  202. package/wangsvue/treeselect/index.js +395 -338
  203. package/wangsvue/tristatecheckbox/index.js +128 -106
  204. package/wangsvue/validatormessage/index.js +7 -9
  205. package/wangsvue/workcalendar/index.js +27 -36
  206. package/index.js +0 -5
  207. package/wangsvue/accordion/index.d.ts +0 -37
  208. package/wangsvue/autocomplete/index.d.ts +0 -188
  209. package/wangsvue/avatar/index.d.ts +0 -85
  210. package/wangsvue/avatargroup/index.d.ts +0 -8
  211. package/wangsvue/badge/index.d.ts +0 -47
  212. package/wangsvue/badgedirective/index.d.ts +0 -50
  213. package/wangsvue/badgegroup/index.d.ts +0 -45
  214. package/wangsvue/breadcrumb/index.d.ts +0 -25
  215. package/wangsvue/button/index.d.ts +0 -46
  216. package/wangsvue/buttonbulkaction/index.d.ts +0 -32
  217. package/wangsvue/buttondownload/index.d.ts +0 -12
  218. package/wangsvue/buttonfilter/index.d.ts +0 -12
  219. package/wangsvue/buttonradio/index.d.ts +0 -58
  220. package/wangsvue/buttonsearch/index.d.ts +0 -65
  221. package/wangsvue/calendar/index.d.ts +0 -267
  222. package/wangsvue/card/index.d.ts +0 -31
  223. package/wangsvue/carousel/index.d.ts +0 -57
  224. package/wangsvue/cascadeselect/index.d.ts +0 -82
  225. package/wangsvue/changelog/index.d.ts +0 -32
  226. package/wangsvue/checkbox/index.d.ts +0 -81
  227. package/wangsvue/chip/index.d.ts +0 -23
  228. package/wangsvue/chips/index.d.ts +0 -38
  229. package/wangsvue/colorpicker/index.d.ts +0 -51
  230. package/wangsvue/confirmpopup/index.d.ts +0 -39
  231. package/wangsvue/contextmenu/index.d.ts +0 -63
  232. package/wangsvue/datatable/index.d.ts +0 -286
  233. package/wangsvue/dataview/index.d.ts +0 -15
  234. package/wangsvue/dataviewlayoutoptions/index.d.ts +0 -13
  235. package/wangsvue/dialog/index.d.ts +0 -87
  236. package/wangsvue/dialogconfirm/index.d.ts +0 -42
  237. package/wangsvue/dialogform/index.d.ts +0 -71
  238. package/wangsvue/divider/index.d.ts +0 -192
  239. package/wangsvue/dock/index.d.ts +0 -51
  240. package/wangsvue/dropdown/index.d.ts +0 -136
  241. package/wangsvue/fieldset/index.d.ts +0 -94
  242. package/wangsvue/fileupload/index.d.ts +0 -29
  243. package/wangsvue/form/index.d.ts +0 -40
  244. package/wangsvue/global.d.ts +0 -8
  245. package/wangsvue/image/index.d.ts +0 -88
  246. package/wangsvue/index.system.js +0 -76
  247. package/wangsvue/inlinemessage/index.d.ts +0 -20
  248. package/wangsvue/inputbadge/index.d.ts +0 -57
  249. package/wangsvue/inputcurrency/index.d.ts +0 -27
  250. package/wangsvue/inputgroup/index.d.ts +0 -9
  251. package/wangsvue/inputgroupaddon/index.d.ts +0 -17
  252. package/wangsvue/inputmask/index.d.ts +0 -11
  253. package/wangsvue/inputnumber/index.d.ts +0 -46
  254. package/wangsvue/inputotp/index.d.ts +0 -137
  255. package/wangsvue/inputphonenumber/index.d.ts +0 -37
  256. package/wangsvue/inputswitch/index.d.ts +0 -67
  257. package/wangsvue/inputtext/index.d.ts +0 -18
  258. package/wangsvue/knob/index.d.ts +0 -22
  259. package/wangsvue/listbox/index.d.ts +0 -79
  260. package/wangsvue/megamenu/index.d.ts +0 -105
  261. package/wangsvue/menu/index.d.ts +0 -49
  262. package/wangsvue/menubar/index.d.ts +0 -85
  263. package/wangsvue/message/index.d.ts +0 -41
  264. package/wangsvue/multiselect/index.d.ts +0 -243
  265. package/wangsvue/orderlist/index.d.ts +0 -99
  266. package/wangsvue/organizationchart/index.d.ts +0 -71
  267. package/wangsvue/overlaypanel/index.d.ts +0 -17
  268. package/wangsvue/paginator/index.d.ts +0 -210
  269. package/wangsvue/panel/index.d.ts +0 -43
  270. package/wangsvue/panelmenu/index.d.ts +0 -76
  271. package/wangsvue/password/index.d.ts +0 -45
  272. package/wangsvue/picklist/index.d.ts +0 -245
  273. package/wangsvue/progressbar/index.d.ts +0 -117
  274. package/wangsvue/rating/index.d.ts +0 -47
  275. package/wangsvue/ripple/index.d.ts +0 -8
  276. package/wangsvue/scrollpanel/index.d.ts +0 -19
  277. package/wangsvue/scrolltop/index.d.ts +0 -50
  278. package/wangsvue/selectbutton/index.d.ts +0 -35
  279. package/wangsvue/sidebar/index.d.ts +0 -66
  280. package/wangsvue/skeleton/index.d.ts +0 -16
  281. package/wangsvue/slider/index.d.ts +0 -55
  282. package/wangsvue/splitbutton/index.d.ts +0 -6690
  283. package/wangsvue/steps/index.d.ts +0 -108
  284. package/wangsvue/tabmenu/index.d.ts +0 -57
  285. package/wangsvue/tabview/index.d.ts +0 -67
  286. package/wangsvue/tag/index.d.ts +0 -32
  287. package/wangsvue/terminal/index.d.ts +0 -27
  288. package/wangsvue/textarea/index.d.ts +0 -12
  289. package/wangsvue/tieredmenu/index.d.ts +0 -56
  290. package/wangsvue/timeline/index.d.ts +0 -53
  291. package/wangsvue/toast/index.d.ts +0 -61
  292. package/wangsvue/togglebutton/index.d.ts +0 -42
  293. package/wangsvue/toolbar/index.d.ts +0 -19
  294. package/wangsvue/tooltip/index.d.ts +0 -22
  295. package/wangsvue/tree/index.d.ts +0 -117
  296. package/wangsvue/treeselect/index.d.ts +0 -158
  297. package/wangsvue/tristatecheckbox/index.d.ts +0 -49
  298. package/wangsvue/validatormessage/index.d.ts +0 -8
  299. package/wangsvue/workcalendar/index.d.ts +0 -27
@@ -1,786 +1,957 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- root: function (_a) {
5
- var props = _a.props;
6
- return ({
7
- class: [
8
- // Flexbox and Position
9
- 'inline-flex',
10
- 'relative',
11
- // Shape
12
- 'rounded-md',
13
- { 'shadow-lg': props.raised },
14
- ],
15
- });
16
- },
17
- button: {
18
- root: function (_a) {
19
- var parent = _a.parent;
20
- return ({
21
- class: [
22
- 'relative',
23
- // Alignments
24
- 'items-center inline-flex text-center align-bottom justify-center',
25
- // Sizes & Spacing
26
- 'text-sm',
27
- {
28
- 'px-2.5 py-1.5 min-w-[2rem]': parent.props.size === null && parent.props.label !== null,
29
- 'px-2 py-1': parent.props.size === 'small',
30
- 'px-3 py-2': parent.props.size === 'large',
31
- },
32
- {
33
- 'h-8 w-8 p-0': parent.props.label == null,
34
- },
35
- // Shape
36
- 'rounded-r-none',
37
- 'border-r-0',
38
- { 'rounded-l-full': parent.props.rounded },
39
- {
40
- 'rounded-md': !parent.props.rounded,
41
- 'rounded-full': parent.props.rounded,
42
- },
43
- // Link Button
44
- {
45
- 'text-primary-600 bg-transparent ring-transparent': parent.props.link,
46
- },
47
- // Plain Button
48
- {
49
- 'text-white bg-gray-500 ring-1 ring-gray-500': parent.props.plain && !parent.props.outlined && !parent.props.text,
50
- },
51
- // Plain Text Button
52
- { 'text-surface-500': parent.props.plain && parent.props.text },
53
- // Plain Outlined Button
54
- {
55
- 'text-surface-500 ring-1 ring-gray-500': parent.props.plain && parent.props.outlined,
56
- },
57
- // Text Button
58
- {
59
- 'bg-transparent ring-transparent': parent.props.text && !parent.props.plain,
60
- },
61
- // Outlined Button
62
- { 'bg-transparent': parent.props.outlined && !parent.props.plain },
63
- // --- Severity Buttons ---
64
- // Primary Button
65
- {
66
- 'text-white': !parent.props.link &&
67
- parent.props.severity === null &&
68
- !parent.props.text &&
69
- !parent.props.outlined &&
70
- !parent.props.plain,
71
- 'bg-primary-500': !parent.props.link &&
72
- parent.props.severity === null &&
73
- !parent.props.text &&
74
- !parent.props.outlined &&
75
- !parent.props.plain,
76
- 'ring-1 ring-primary-500': !parent.props.link &&
77
- parent.props.severity === null &&
78
- !parent.props.text &&
79
- !parent.props.outlined &&
80
- !parent.props.plain,
81
- },
82
- // Primary Text Button
83
- {
84
- 'text-primary-500': parent.props.text &&
85
- parent.props.severity === null &&
86
- !parent.props.plain,
87
- },
88
- // Primary Outlined Button
89
- {
90
- 'text-primary-500 ring-1 ring-primary-500 hover:bg-primary-300/20': parent.props.outlined &&
91
- parent.props.severity === null &&
92
- !parent.props.plain,
93
- },
94
- // Secondary Button
95
- {
96
- 'text-white': parent.props.severity === 'secondary' &&
97
- !parent.props.text &&
98
- !parent.props.outlined &&
99
- !parent.props.plain,
100
- 'bg-surface-500': parent.props.severity === 'secondary' &&
101
- !parent.props.text &&
102
- !parent.props.outlined &&
103
- !parent.props.plain,
104
- 'ring-1 ring-surface-500': parent.props.severity === 'secondary' &&
105
- !parent.props.text &&
106
- !parent.props.outlined &&
107
- !parent.props.plain,
108
- },
109
- // Secondary Text Button
110
- {
111
- 'text-surface-500': parent.props.text &&
112
- parent.props.severity === 'secondary' &&
113
- !parent.props.plain,
114
- },
115
- // Secondary Outlined Button
116
- {
117
- 'text-surface-500 ring-1 ring-surface-500 hover:bg-surface-300/20': parent.props.outlined &&
118
- parent.props.severity === 'secondary' &&
119
- !parent.props.plain,
120
- },
121
- // Success Button
122
- {
123
- 'text-white': parent.props.severity === 'success' &&
124
- !parent.props.text &&
125
- !parent.props.outlined &&
126
- !parent.props.plain,
127
- 'bg-green-500': parent.props.severity === 'success' &&
128
- !parent.props.text &&
129
- !parent.props.outlined &&
130
- !parent.props.plain,
131
- 'ring-1 ring-green-500': parent.props.severity === 'success' &&
132
- !parent.props.text &&
133
- !parent.props.outlined &&
134
- !parent.props.plain,
135
- },
136
- // Success Text Button
137
- {
138
- 'text-surface-500': parent.props.text &&
139
- parent.props.severity === 'secondary' &&
140
- !parent.props.plain,
141
- },
142
- // Success Outlined Button
143
- {
144
- 'text-green-500 ring-1 ring-green-500 hover:bg-green-300/20': parent.props.outlined &&
145
- parent.props.severity === 'success' &&
146
- !parent.props.plain,
147
- },
148
- // Info Button
149
- {
150
- 'text-white': parent.props.severity === 'info' &&
151
- !parent.props.text &&
152
- !parent.props.outlined &&
153
- !parent.props.plain,
154
- 'bg-blue-500': parent.props.severity === 'info' &&
155
- !parent.props.text &&
156
- !parent.props.outlined &&
157
- !parent.props.plain,
158
- 'ring-1 ring-blue-500': parent.props.severity === 'info' &&
159
- !parent.props.text &&
160
- !parent.props.outlined &&
161
- !parent.props.plain,
162
- },
163
- // Info Text Button
164
- {
165
- 'text-blue-500': parent.props.text &&
166
- parent.props.severity === 'info' &&
167
- !parent.props.plain,
168
- },
169
- // Info Outlined Button
170
- {
171
- 'text-blue-500 ring-1 ring-blue-500 hover:bg-blue-300/20 ': parent.props.outlined &&
172
- parent.props.severity === 'info' &&
173
- !parent.props.plain,
174
- },
175
- // Warning Button
176
- {
177
- 'text-white': parent.props.severity === 'warning' &&
178
- !parent.props.text &&
179
- !parent.props.outlined &&
180
- !parent.props.plain,
181
- 'bg-orange-500': parent.props.severity === 'warning' &&
182
- !parent.props.text &&
183
- !parent.props.outlined &&
184
- !parent.props.plain,
185
- 'ring-1 ring-orange-500': parent.props.severity === 'warning' &&
186
- !parent.props.text &&
187
- !parent.props.outlined &&
188
- !parent.props.plain,
189
- },
190
- // Warning Text Button
191
- {
192
- 'text-orange-500': parent.props.text &&
193
- parent.props.severity === 'warning' &&
194
- !parent.props.plain,
195
- },
196
- // Warning Outlined Button
197
- {
198
- 'text-orange-500 ring-1 ring-orange-500 hover:bg-orange-300/20': parent.props.outlined &&
199
- parent.props.severity === 'warning' &&
200
- !parent.props.plain,
201
- },
202
- // Help Button
203
- {
204
- 'text-white': parent.props.severity === 'help' &&
205
- !parent.props.text &&
206
- !parent.props.outlined &&
207
- !parent.props.plain,
208
- 'bg-purple-500': parent.props.severity === 'help' &&
209
- !parent.props.text &&
210
- !parent.props.outlined &&
211
- !parent.props.plain,
212
- 'ring-1 ring-purple-500': parent.props.severity === 'help' &&
213
- !parent.props.text &&
214
- !parent.props.outlined &&
215
- !parent.props.plain,
216
- },
217
- // Help Text Button
218
- {
219
- 'text-purple-500': parent.props.text &&
220
- parent.props.severity === 'help' &&
221
- !parent.props.plain,
222
- },
223
- // Help Outlined Button
224
- {
225
- 'text-purple-500 ring-1 ring-purple-500 hover:bg-purple-300/20': parent.props.outlined &&
226
- parent.props.severity === 'help' &&
227
- !parent.props.plain,
228
- },
229
- // Danger Button
230
- {
231
- 'text-white': parent.props.severity === 'danger' &&
232
- !parent.props.text &&
233
- !parent.props.outlined &&
234
- !parent.props.plain,
235
- 'bg-red-500': parent.props.severity === 'danger' &&
236
- !parent.props.text &&
237
- !parent.props.outlined &&
238
- !parent.props.plain,
239
- 'ring-1 ring-red-500': parent.props.severity === 'danger' &&
240
- !parent.props.text &&
241
- !parent.props.outlined &&
242
- !parent.props.plain,
243
- },
244
- // Danger Text Button
245
- {
246
- 'text-red-500': parent.props.text &&
247
- parent.props.severity === 'danger' &&
248
- !parent.props.plain,
249
- },
250
- // Danger Outlined Button
251
- {
252
- 'text-red-500 ring-1 ring-red-500 hover:bg-red-300/20': parent.props.outlined &&
253
- parent.props.severity === 'danger' &&
254
- !parent.props.plain,
255
- },
256
- // --- Severity Button States ---
257
- 'focus:outline-none focus:outline-offset-0 focus:ring-2 focus:ring-offset-current',
258
- {
259
- 'focus:ring-offset-2': !parent.props.link &&
260
- !parent.props.plain &&
261
- !parent.props.outlined &&
262
- !parent.props.text,
263
- },
264
- // Link
265
- {
266
- 'focus:ring-primary-500': parent.props.link,
267
- },
268
- // Plain
269
- {
270
- 'hover:bg-gray-600 hover:ring-gray-600': parent.props.plain && !parent.props.outlined && !parent.props.text,
271
- },
272
- // Text & Outlined Button
273
- {
274
- 'hover:bg-surface-300/20': parent.props.plain && (parent.props.text || parent.props.outlined),
275
- },
276
- // Primary
277
- {
278
- 'hover:bg-primary-600 hover:ring-primary-600': !parent.props.link &&
279
- parent.props.severity === null &&
280
- !parent.props.text &&
281
- !parent.props.outlined &&
282
- !parent.props.plain,
283
- },
284
- {
285
- 'focus:ring-primary-500': parent.props.severity === null,
286
- },
287
- // Text & Outlined Button
288
- {
289
- 'hover:bg-primary-300/20': (parent.props.text || parent.props.outlined) &&
290
- parent.props.severity === null &&
291
- !parent.props.plain,
292
- },
293
- // Secondary
294
- {
295
- 'hover:bg-surface-600 hover:ring-surface-600': parent.props.severity === 'secondary' &&
296
- !parent.props.text &&
297
- !parent.props.outlined &&
298
- !parent.props.plain,
299
- },
300
- {
301
- 'focus:ring-surface-500': parent.props.severity === 'secondary',
302
- },
303
- // Text & Outlined Button
304
- {
305
- 'hover:bg-surface-300/20': (parent.props.text || parent.props.outlined) &&
306
- parent.props.severity === 'secondary' &&
307
- !parent.props.plain,
308
- },
309
- // Success
310
- {
311
- 'hover:bg-green-600 hover:ring-green-600': parent.props.severity === 'success' &&
312
- !parent.props.text &&
313
- !parent.props.outlined &&
314
- !parent.props.plain,
315
- },
316
- {
317
- 'focus:ring-green-500': parent.props.severity === 'success',
318
- },
319
- // Text & Outlined Button
320
- {
321
- 'hover:bg-green-300/20': (parent.props.text || parent.props.outlined) &&
322
- parent.props.severity === 'success' &&
323
- !parent.props.plain,
324
- },
325
- // Info
326
- {
327
- 'hover:bg-blue-600 hover:ring-blue-600': parent.props.severity === 'info' &&
328
- !parent.props.text &&
329
- !parent.props.outlined &&
330
- !parent.props.plain,
331
- },
332
- {
333
- 'focus:ring-blue-500': parent.props.severity === 'info',
334
- },
335
- // Text & Outlined Button
336
- {
337
- 'hover:bg-blue-300/20': (parent.props.text || parent.props.outlined) &&
338
- parent.props.severity === 'info' &&
339
- !parent.props.plain,
340
- },
341
- // Warning
342
- {
343
- 'hover:bg-orange-600 hover:ring-orange-600': parent.props.severity === 'warning' &&
344
- !parent.props.text &&
345
- !parent.props.outlined &&
346
- !parent.props.plain,
347
- },
348
- {
349
- 'focus:ring-orange-500': parent.props.severity === 'warning',
350
- },
351
- // Text & Outlined Button
352
- {
353
- 'hover:bg-orange-300/20': (parent.props.text || parent.props.outlined) &&
354
- parent.props.severity === 'warning' &&
355
- !parent.props.plain,
356
- },
357
- // Help
358
- {
359
- 'hover:bg-purple-600 hover:ring-purple-600': parent.props.severity === 'help' &&
360
- !parent.props.text &&
361
- !parent.props.outlined &&
362
- !parent.props.plain,
363
- },
364
- {
365
- 'focus:ring-purple-500': parent.props.severity === 'help',
366
- },
367
- // Text & Outlined Button
368
- {
369
- 'hover:bg-purple-300/20': (parent.props.text || parent.props.outlined) &&
370
- parent.props.severity === 'help' &&
371
- !parent.props.plain,
372
- },
373
- // Warning
374
- {
375
- 'hover:bg-red-600 hover:ring-red-600': parent.props.severity === 'danger' &&
376
- !parent.props.text &&
377
- !parent.props.outlined &&
378
- !parent.props.plain,
379
- },
380
- {
381
- 'focus:ring-red-500': parent.props.severity === 'danger',
382
- },
383
- // Text & Outlined Button
384
- {
385
- 'hover:bg-red-300/20': (parent.props.text || parent.props.outlined) &&
386
- parent.props.severity === 'danger' &&
387
- !parent.props.plain,
388
- },
389
- // Transitions
390
- 'transition duration-200 ease-in-out',
391
- // Misc
392
- 'cursor-pointer overflow-hidden select-none',
393
- ],
394
- });
395
- },
396
- icon: {
397
- class: [
398
- // Margins
399
- 'mr-2',
400
- ],
401
- },
402
- },
403
- menubutton: {
404
- root: function (_a) {
405
- var parent = _a.parent;
406
- return ({
407
- class: [
408
- 'relative',
409
- // Alignments
410
- 'items-center inline-flex text-center align-bottom justify-center',
411
- // Sizes & Spacing
412
- 'text-sm',
413
- {
414
- 'px-2.5 py-1.5 min-w-[2rem]': parent.props.size === null && parent.props.label !== null,
415
- 'px-2 py-1': parent.props.size === 'small',
416
- 'px-3 py-2': parent.props.size === 'large',
417
- },
418
- {
419
- 'h-8 w-8 p-0': parent.props.label == null,
420
- },
421
- 'ml-[1px]',
422
- // Shape
423
- 'rounded-l-none',
424
- { 'rounded-l-full': parent.props.rounded },
425
- {
426
- 'rounded-md': !parent.props.rounded,
427
- 'rounded-full': parent.props.rounded,
428
- },
429
- // Link Button
430
- {
431
- 'text-primary-600 bg-transparent ring-transparent': parent.props.link,
432
- },
433
- // Plain Button
434
- {
435
- 'text-white bg-gray-500 ring-1 ring-gray-500': parent.props.plain && !parent.props.outlined && !parent.props.text,
436
- },
437
- // Plain Text Button
438
- { 'text-surface-500': parent.props.plain && parent.props.text },
439
- // Plain Outlined Button
440
- {
441
- 'text-surface-500 ring-1 ring-gray-500': parent.props.plain && parent.props.outlined,
442
- },
443
- // Text Button
444
- {
445
- 'bg-transparent ring-transparent': parent.props.text && !parent.props.plain,
446
- },
447
- // Outlined Button
448
- { 'bg-transparent': parent.props.outlined && !parent.props.plain },
449
- // --- Severity Buttons ---
450
- // Primary Button
451
- {
452
- 'text-white': !parent.props.link &&
453
- parent.props.severity === null &&
454
- !parent.props.text &&
455
- !parent.props.outlined &&
456
- !parent.props.plain,
457
- 'bg-primary-500': !parent.props.link &&
458
- parent.props.severity === null &&
459
- !parent.props.text &&
460
- !parent.props.outlined &&
461
- !parent.props.plain,
462
- 'ring-1 ring-primary-500': !parent.props.link &&
463
- parent.props.severity === null &&
464
- !parent.props.text &&
465
- !parent.props.outlined &&
466
- !parent.props.plain,
467
- },
468
- // Primary Text Button
469
- {
470
- 'text-primary-500': parent.props.text &&
471
- parent.props.severity === null &&
472
- !parent.props.plain,
473
- },
474
- // Primary Outlined Button
475
- {
476
- 'text-primary-500 ring-1 ring-primary-500 hover:bg-primary-300/20': parent.props.outlined &&
477
- parent.props.severity === null &&
478
- !parent.props.plain,
479
- },
480
- // Secondary Button
481
- {
482
- 'text-white': parent.props.severity === 'secondary' &&
483
- !parent.props.text &&
484
- !parent.props.outlined &&
485
- !parent.props.plain,
486
- 'bg-surface-500': parent.props.severity === 'secondary' &&
487
- !parent.props.text &&
488
- !parent.props.outlined &&
489
- !parent.props.plain,
490
- 'ring-1 ring-surface-500': parent.props.severity === 'secondary' &&
491
- !parent.props.text &&
492
- !parent.props.outlined &&
493
- !parent.props.plain,
494
- },
495
- // Secondary Text Button
496
- {
497
- 'text-surface-500': parent.props.text &&
498
- parent.props.severity === 'secondary' &&
499
- !parent.props.plain,
500
- },
501
- // Secondary Outlined Button
502
- {
503
- 'text-surface-500 ring-1 ring-surface-500 hover:bg-surface-300/20': parent.props.outlined &&
504
- parent.props.severity === 'secondary' &&
505
- !parent.props.plain,
506
- },
507
- // Success Button
508
- {
509
- 'text-white': parent.props.severity === 'success' &&
510
- !parent.props.text &&
511
- !parent.props.outlined &&
512
- !parent.props.plain,
513
- 'bg-green-500': parent.props.severity === 'success' &&
514
- !parent.props.text &&
515
- !parent.props.outlined &&
516
- !parent.props.plain,
517
- 'ring-1 ring-green-500': parent.props.severity === 'success' &&
518
- !parent.props.text &&
519
- !parent.props.outlined &&
520
- !parent.props.plain,
521
- },
522
- // Success Text Button
523
- {
524
- 'text-surface-500': parent.props.text &&
525
- parent.props.severity === 'secondary' &&
526
- !parent.props.plain,
527
- },
528
- // Success Outlined Button
529
- {
530
- 'text-green-500 ring-1 ring-green-500 hover:bg-green-300/20': parent.props.outlined &&
531
- parent.props.severity === 'success' &&
532
- !parent.props.plain,
533
- },
534
- // Info Button
535
- {
536
- 'text-white': parent.props.severity === 'info' &&
537
- !parent.props.text &&
538
- !parent.props.outlined &&
539
- !parent.props.plain,
540
- 'bg-blue-500': parent.props.severity === 'info' &&
541
- !parent.props.text &&
542
- !parent.props.outlined &&
543
- !parent.props.plain,
544
- 'ring-1 ring-blue-500': parent.props.severity === 'info' &&
545
- !parent.props.text &&
546
- !parent.props.outlined &&
547
- !parent.props.plain,
548
- },
549
- // Info Text Button
550
- {
551
- 'text-blue-500': parent.props.text &&
552
- parent.props.severity === 'info' &&
553
- !parent.props.plain,
554
- },
555
- // Info Outlined Button
556
- {
557
- 'text-blue-500 ring-1 ring-blue-500 hover:bg-blue-300/20 ': parent.props.outlined &&
558
- parent.props.severity === 'info' &&
559
- !parent.props.plain,
560
- },
561
- // Warning Button
562
- {
563
- 'text-white': parent.props.severity === 'warning' &&
564
- !parent.props.text &&
565
- !parent.props.outlined &&
566
- !parent.props.plain,
567
- 'bg-orange-500': parent.props.severity === 'warning' &&
568
- !parent.props.text &&
569
- !parent.props.outlined &&
570
- !parent.props.plain,
571
- 'ring-1 ring-orange-500': parent.props.severity === 'warning' &&
572
- !parent.props.text &&
573
- !parent.props.outlined &&
574
- !parent.props.plain,
575
- },
576
- // Warning Text Button
577
- {
578
- 'text-orange-500': parent.props.text &&
579
- parent.props.severity === 'warning' &&
580
- !parent.props.plain,
581
- },
582
- // Warning Outlined Button
583
- {
584
- 'text-orange-500 ring-1 ring-orange-500 hover:bg-orange-300/20': parent.props.outlined &&
585
- parent.props.severity === 'warning' &&
586
- !parent.props.plain,
587
- },
588
- // Help Button
589
- {
590
- 'text-white': parent.props.severity === 'help' &&
591
- !parent.props.text &&
592
- !parent.props.outlined &&
593
- !parent.props.plain,
594
- 'bg-purple-500': parent.props.severity === 'help' &&
595
- !parent.props.text &&
596
- !parent.props.outlined &&
597
- !parent.props.plain,
598
- 'ring-1 ring-purple-500': parent.props.severity === 'help' &&
599
- !parent.props.text &&
600
- !parent.props.outlined &&
601
- !parent.props.plain,
602
- },
603
- // Help Text Button
604
- {
605
- 'text-purple-500': parent.props.text &&
606
- parent.props.severity === 'help' &&
607
- !parent.props.plain,
608
- },
609
- // Help Outlined Button
610
- {
611
- 'text-purple-500 ring-1 ring-purple-500 hover:bg-purple-300/20': parent.props.outlined &&
612
- parent.props.severity === 'help' &&
613
- !parent.props.plain,
614
- },
615
- // Danger Button
616
- {
617
- 'text-white': parent.props.severity === 'danger' &&
618
- !parent.props.text &&
619
- !parent.props.outlined &&
620
- !parent.props.plain,
621
- 'bg-red-500': parent.props.severity === 'danger' &&
622
- !parent.props.text &&
623
- !parent.props.outlined &&
624
- !parent.props.plain,
625
- 'ring-1 ring-red-500': parent.props.severity === 'danger' &&
626
- !parent.props.text &&
627
- !parent.props.outlined &&
628
- !parent.props.plain,
629
- },
630
- // Danger Text Button
631
- {
632
- 'text-red-500': parent.props.text &&
633
- parent.props.severity === 'danger' &&
634
- !parent.props.plain,
635
- },
636
- // Danger Outlined Button
637
- {
638
- 'text-red-500 ring-1 ring-red-500 hover:bg-red-300/20': parent.props.outlined &&
639
- parent.props.severity === 'danger' &&
640
- !parent.props.plain,
641
- },
642
- // --- Severity Button States ---
643
- 'focus:outline-none focus:outline-offset-0 focus:ring-2 focus:ring-offset-current',
644
- {
645
- 'focus:ring-offset-2': !parent.props.link &&
646
- !parent.props.plain &&
647
- !parent.props.outlined &&
648
- !parent.props.text,
649
- },
650
- // Link
651
- {
652
- 'focus:ring-primary-500': parent.props.link,
653
- },
654
- // Plain
655
- {
656
- 'hover:bg-gray-600 hover:ring-gray-600': parent.props.plain && !parent.props.outlined && !parent.props.text,
657
- },
658
- // Text & Outlined Button
659
- {
660
- 'hover:bg-surface-300/20': parent.props.plain && (parent.props.text || parent.props.outlined),
661
- },
662
- // Primary
663
- {
664
- 'hover:bg-primary-600 hover:ring-primary-600': !parent.props.link &&
665
- parent.props.severity === null &&
666
- !parent.props.text &&
667
- !parent.props.outlined &&
668
- !parent.props.plain,
669
- },
670
- {
671
- 'focus:ring-primary-500': parent.props.severity === null,
672
- },
673
- // Text & Outlined Button
674
- {
675
- 'hover:bg-primary-300/20': (parent.props.text || parent.props.outlined) &&
676
- parent.props.severity === null &&
677
- !parent.props.plain,
678
- },
679
- // Secondary
680
- {
681
- 'hover:bg-surface-600 hover:ring-surface-600': parent.props.severity === 'secondary' &&
682
- !parent.props.text &&
683
- !parent.props.outlined &&
684
- !parent.props.plain,
685
- },
686
- {
687
- 'focus:ring-surface-500': parent.props.severity === 'secondary',
688
- },
689
- // Text & Outlined Button
690
- {
691
- 'hover:bg-surface-300/20': (parent.props.text || parent.props.outlined) &&
692
- parent.props.severity === 'secondary' &&
693
- !parent.props.plain,
694
- },
695
- // Success
696
- {
697
- 'hover:bg-green-600 hover:ring-green-600': parent.props.severity === 'success' &&
698
- !parent.props.text &&
699
- !parent.props.outlined &&
700
- !parent.props.plain,
701
- },
702
- {
703
- 'focus:ring-green-500': parent.props.severity === 'success',
704
- },
705
- // Text & Outlined Button
706
- {
707
- 'hover:bg-green-300/20': (parent.props.text || parent.props.outlined) &&
708
- parent.props.severity === 'success' &&
709
- !parent.props.plain,
710
- },
711
- // Info
712
- {
713
- 'hover:bg-blue-600 hover:ring-blue-600': parent.props.severity === 'info' &&
714
- !parent.props.text &&
715
- !parent.props.outlined &&
716
- !parent.props.plain,
717
- },
718
- {
719
- 'focus:ring-blue-500': parent.props.severity === 'info',
720
- },
721
- // Text & Outlined Button
722
- {
723
- 'hover:bg-blue-300/20': (parent.props.text || parent.props.outlined) &&
724
- parent.props.severity === 'info' &&
725
- !parent.props.plain,
726
- },
727
- // Warning
728
- {
729
- 'hover:bg-orange-600 hover:ring-orange-600': parent.props.severity === 'warning' &&
730
- !parent.props.text &&
731
- !parent.props.outlined &&
732
- !parent.props.plain,
733
- },
734
- {
735
- 'focus:ring-orange-500': parent.props.severity === 'warning',
736
- },
737
- // Text & Outlined Button
738
- {
739
- 'hover:bg-orange-300/20': (parent.props.text || parent.props.outlined) &&
740
- parent.props.severity === 'warning' &&
741
- !parent.props.plain,
742
- },
743
- // Help
744
- {
745
- 'hover:bg-purple-600 hover:ring-purple-600': parent.props.severity === 'help' &&
746
- !parent.props.text &&
747
- !parent.props.outlined &&
748
- !parent.props.plain,
749
- },
750
- {
751
- 'focus:ring-purple-500': parent.props.severity === 'help',
752
- },
753
- // Text & Outlined Button
754
- {
755
- 'hover:bg-purple-300/20': (parent.props.text || parent.props.outlined) &&
756
- parent.props.severity === 'help' &&
757
- !parent.props.plain,
758
- },
759
- // Warning
760
- {
761
- 'hover:bg-red-600 hover:ring-red-600': parent.props.severity === 'danger' &&
762
- !parent.props.text &&
763
- !parent.props.outlined &&
764
- !parent.props.plain,
765
- },
766
- {
767
- 'focus:ring-red-500': parent.props.severity === 'danger',
768
- },
769
- // Text & Outlined Button
770
- {
771
- 'hover:bg-red-300/20': (parent.props.text || parent.props.outlined) &&
772
- parent.props.severity === 'danger' &&
773
- !parent.props.plain,
774
- },
775
- // Transitions
776
- 'transition duration-200 ease-in-out',
777
- // Misc
778
- 'cursor-pointer overflow-hidden select-none',
779
- ],
780
- });
781
- },
782
- label: {
783
- class: ['hidden'],
784
- },
785
- },
786
- };
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ // Flexbox and Position
5
+ 'inline-flex',
6
+ 'relative',
7
+
8
+ // Shape
9
+ 'rounded-md',
10
+ { 'shadow-lg': props.raised },
11
+ ],
12
+ }),
13
+ button: {
14
+ root: ({ parent }) => ({
15
+ class: [
16
+ 'relative',
17
+ // Alignments
18
+ 'items-center inline-flex text-center align-bottom justify-center',
19
+
20
+ // Sizes & Spacing
21
+ 'text-sm',
22
+ {
23
+ 'px-2.5 py-1.5 min-w-[2rem]':
24
+ parent.props.size === null && parent.props.label !== null,
25
+ 'px-2 py-1': parent.props.size === 'small',
26
+ 'px-3 py-2': parent.props.size === 'large',
27
+ },
28
+ {
29
+ 'h-8 w-8 p-0': parent.props.label == null,
30
+ },
31
+
32
+ // Shape
33
+ 'rounded-r-none',
34
+ 'border-r-0',
35
+ { 'rounded-l-full': parent.props.rounded },
36
+ {
37
+ 'rounded-md': !parent.props.rounded,
38
+ 'rounded-full': parent.props.rounded,
39
+ },
40
+
41
+ // Link Button
42
+ {
43
+ 'text-primary-600 bg-transparent ring-transparent': parent.props.link,
44
+ },
45
+
46
+ // Plain Button
47
+ {
48
+ 'text-white bg-gray-500 ring-1 ring-gray-500':
49
+ parent.props.plain && !parent.props.outlined && !parent.props.text,
50
+ },
51
+ // Plain Text Button
52
+ { 'text-surface-500': parent.props.plain && parent.props.text },
53
+ // Plain Outlined Button
54
+ {
55
+ 'text-surface-500 ring-1 ring-gray-500':
56
+ parent.props.plain && parent.props.outlined,
57
+ },
58
+
59
+ // Text Button
60
+ {
61
+ 'bg-transparent ring-transparent':
62
+ parent.props.text && !parent.props.plain,
63
+ },
64
+
65
+ // Outlined Button
66
+ { 'bg-transparent': parent.props.outlined && !parent.props.plain },
67
+
68
+ // --- Severity Buttons ---
69
+
70
+ // Primary Button
71
+ {
72
+ 'text-white':
73
+ !parent.props.link &&
74
+ parent.props.severity === null &&
75
+ !parent.props.text &&
76
+ !parent.props.outlined &&
77
+ !parent.props.plain,
78
+ 'bg-primary-500':
79
+ !parent.props.link &&
80
+ parent.props.severity === null &&
81
+ !parent.props.text &&
82
+ !parent.props.outlined &&
83
+ !parent.props.plain,
84
+ 'ring-1 ring-primary-500':
85
+ !parent.props.link &&
86
+ parent.props.severity === null &&
87
+ !parent.props.text &&
88
+ !parent.props.outlined &&
89
+ !parent.props.plain,
90
+ },
91
+ // Primary Text Button
92
+ {
93
+ 'text-primary-500':
94
+ parent.props.text &&
95
+ parent.props.severity === null &&
96
+ !parent.props.plain,
97
+ },
98
+ // Primary Outlined Button
99
+ {
100
+ 'text-primary-500 ring-1 ring-primary-500 hover:bg-primary-300/20':
101
+ parent.props.outlined &&
102
+ parent.props.severity === null &&
103
+ !parent.props.plain,
104
+ },
105
+
106
+ // Secondary Button
107
+ {
108
+ 'text-white':
109
+ parent.props.severity === 'secondary' &&
110
+ !parent.props.text &&
111
+ !parent.props.outlined &&
112
+ !parent.props.plain,
113
+ 'bg-surface-500':
114
+ parent.props.severity === 'secondary' &&
115
+ !parent.props.text &&
116
+ !parent.props.outlined &&
117
+ !parent.props.plain,
118
+ 'ring-1 ring-surface-500':
119
+ parent.props.severity === 'secondary' &&
120
+ !parent.props.text &&
121
+ !parent.props.outlined &&
122
+ !parent.props.plain,
123
+ },
124
+ // Secondary Text Button
125
+ {
126
+ 'text-surface-500':
127
+ parent.props.text &&
128
+ parent.props.severity === 'secondary' &&
129
+ !parent.props.plain,
130
+ },
131
+ // Secondary Outlined Button
132
+ {
133
+ 'text-surface-500 ring-1 ring-surface-500 hover:bg-surface-300/20':
134
+ parent.props.outlined &&
135
+ parent.props.severity === 'secondary' &&
136
+ !parent.props.plain,
137
+ },
138
+
139
+ // Success Button
140
+ {
141
+ 'text-white':
142
+ parent.props.severity === 'success' &&
143
+ !parent.props.text &&
144
+ !parent.props.outlined &&
145
+ !parent.props.plain,
146
+ 'bg-green-500':
147
+ parent.props.severity === 'success' &&
148
+ !parent.props.text &&
149
+ !parent.props.outlined &&
150
+ !parent.props.plain,
151
+ 'ring-1 ring-green-500':
152
+ parent.props.severity === 'success' &&
153
+ !parent.props.text &&
154
+ !parent.props.outlined &&
155
+ !parent.props.plain,
156
+ },
157
+ // Success Text Button
158
+ {
159
+ 'text-surface-500':
160
+ parent.props.text &&
161
+ parent.props.severity === 'secondary' &&
162
+ !parent.props.plain,
163
+ },
164
+ // Success Outlined Button
165
+ {
166
+ 'text-green-500 ring-1 ring-green-500 hover:bg-green-300/20':
167
+ parent.props.outlined &&
168
+ parent.props.severity === 'success' &&
169
+ !parent.props.plain,
170
+ },
171
+
172
+ // Info Button
173
+ {
174
+ 'text-white':
175
+ parent.props.severity === 'info' &&
176
+ !parent.props.text &&
177
+ !parent.props.outlined &&
178
+ !parent.props.plain,
179
+ 'bg-blue-500':
180
+ parent.props.severity === 'info' &&
181
+ !parent.props.text &&
182
+ !parent.props.outlined &&
183
+ !parent.props.plain,
184
+ 'ring-1 ring-blue-500':
185
+ parent.props.severity === 'info' &&
186
+ !parent.props.text &&
187
+ !parent.props.outlined &&
188
+ !parent.props.plain,
189
+ },
190
+ // Info Text Button
191
+ {
192
+ 'text-blue-500':
193
+ parent.props.text &&
194
+ parent.props.severity === 'info' &&
195
+ !parent.props.plain,
196
+ },
197
+ // Info Outlined Button
198
+ {
199
+ 'text-blue-500 ring-1 ring-blue-500 hover:bg-blue-300/20 ':
200
+ parent.props.outlined &&
201
+ parent.props.severity === 'info' &&
202
+ !parent.props.plain,
203
+ },
204
+
205
+ // Warning Button
206
+ {
207
+ 'text-white':
208
+ parent.props.severity === 'warning' &&
209
+ !parent.props.text &&
210
+ !parent.props.outlined &&
211
+ !parent.props.plain,
212
+ 'bg-orange-500':
213
+ parent.props.severity === 'warning' &&
214
+ !parent.props.text &&
215
+ !parent.props.outlined &&
216
+ !parent.props.plain,
217
+ 'ring-1 ring-orange-500':
218
+ parent.props.severity === 'warning' &&
219
+ !parent.props.text &&
220
+ !parent.props.outlined &&
221
+ !parent.props.plain,
222
+ },
223
+ // Warning Text Button
224
+ {
225
+ 'text-orange-500':
226
+ parent.props.text &&
227
+ parent.props.severity === 'warning' &&
228
+ !parent.props.plain,
229
+ },
230
+ // Warning Outlined Button
231
+ {
232
+ 'text-orange-500 ring-1 ring-orange-500 hover:bg-orange-300/20':
233
+ parent.props.outlined &&
234
+ parent.props.severity === 'warning' &&
235
+ !parent.props.plain,
236
+ },
237
+
238
+ // Help Button
239
+ {
240
+ 'text-white':
241
+ parent.props.severity === 'help' &&
242
+ !parent.props.text &&
243
+ !parent.props.outlined &&
244
+ !parent.props.plain,
245
+ 'bg-purple-500':
246
+ parent.props.severity === 'help' &&
247
+ !parent.props.text &&
248
+ !parent.props.outlined &&
249
+ !parent.props.plain,
250
+ 'ring-1 ring-purple-500':
251
+ parent.props.severity === 'help' &&
252
+ !parent.props.text &&
253
+ !parent.props.outlined &&
254
+ !parent.props.plain,
255
+ },
256
+ // Help Text Button
257
+ {
258
+ 'text-purple-500':
259
+ parent.props.text &&
260
+ parent.props.severity === 'help' &&
261
+ !parent.props.plain,
262
+ },
263
+ // Help Outlined Button
264
+ {
265
+ 'text-purple-500 ring-1 ring-purple-500 hover:bg-purple-300/20':
266
+ parent.props.outlined &&
267
+ parent.props.severity === 'help' &&
268
+ !parent.props.plain,
269
+ },
270
+
271
+ // Danger Button
272
+ {
273
+ 'text-white':
274
+ parent.props.severity === 'danger' &&
275
+ !parent.props.text &&
276
+ !parent.props.outlined &&
277
+ !parent.props.plain,
278
+ 'bg-red-500':
279
+ parent.props.severity === 'danger' &&
280
+ !parent.props.text &&
281
+ !parent.props.outlined &&
282
+ !parent.props.plain,
283
+ 'ring-1 ring-red-500':
284
+ parent.props.severity === 'danger' &&
285
+ !parent.props.text &&
286
+ !parent.props.outlined &&
287
+ !parent.props.plain,
288
+ },
289
+ // Danger Text Button
290
+ {
291
+ 'text-red-500':
292
+ parent.props.text &&
293
+ parent.props.severity === 'danger' &&
294
+ !parent.props.plain,
295
+ },
296
+ // Danger Outlined Button
297
+ {
298
+ 'text-red-500 ring-1 ring-red-500 hover:bg-red-300/20':
299
+ parent.props.outlined &&
300
+ parent.props.severity === 'danger' &&
301
+ !parent.props.plain,
302
+ },
303
+
304
+ // --- Severity Button States ---
305
+ 'focus:outline-none focus:outline-offset-0 focus:ring-2 focus:ring-offset-current',
306
+ {
307
+ 'focus:ring-offset-2':
308
+ !parent.props.link &&
309
+ !parent.props.plain &&
310
+ !parent.props.outlined &&
311
+ !parent.props.text,
312
+ },
313
+
314
+ // Link
315
+ {
316
+ 'focus:ring-primary-500':
317
+ parent.props.link,
318
+ },
319
+
320
+ // Plain
321
+ {
322
+ 'hover:bg-gray-600 hover:ring-gray-600':
323
+ parent.props.plain && !parent.props.outlined && !parent.props.text,
324
+ },
325
+ // Text & Outlined Button
326
+ {
327
+ 'hover:bg-surface-300/20':
328
+ parent.props.plain && (parent.props.text || parent.props.outlined),
329
+ },
330
+
331
+ // Primary
332
+ {
333
+ 'hover:bg-primary-600 hover:ring-primary-600':
334
+ !parent.props.link &&
335
+ parent.props.severity === null &&
336
+ !parent.props.text &&
337
+ !parent.props.outlined &&
338
+ !parent.props.plain,
339
+ },
340
+ {
341
+ 'focus:ring-primary-500':
342
+ parent.props.severity === null,
343
+ },
344
+ // Text & Outlined Button
345
+ {
346
+ 'hover:bg-primary-300/20':
347
+ (parent.props.text || parent.props.outlined) &&
348
+ parent.props.severity === null &&
349
+ !parent.props.plain,
350
+ },
351
+
352
+ // Secondary
353
+ {
354
+ 'hover:bg-surface-600 hover:ring-surface-600':
355
+ parent.props.severity === 'secondary' &&
356
+ !parent.props.text &&
357
+ !parent.props.outlined &&
358
+ !parent.props.plain,
359
+ },
360
+ {
361
+ 'focus:ring-surface-500':
362
+ parent.props.severity === 'secondary',
363
+ },
364
+ // Text & Outlined Button
365
+ {
366
+ 'hover:bg-surface-300/20':
367
+ (parent.props.text || parent.props.outlined) &&
368
+ parent.props.severity === 'secondary' &&
369
+ !parent.props.plain,
370
+ },
371
+
372
+ // Success
373
+ {
374
+ 'hover:bg-green-600 hover:ring-green-600':
375
+ parent.props.severity === 'success' &&
376
+ !parent.props.text &&
377
+ !parent.props.outlined &&
378
+ !parent.props.plain,
379
+ },
380
+ {
381
+ 'focus:ring-green-500':
382
+ parent.props.severity === 'success',
383
+ },
384
+ // Text & Outlined Button
385
+ {
386
+ 'hover:bg-green-300/20':
387
+ (parent.props.text || parent.props.outlined) &&
388
+ parent.props.severity === 'success' &&
389
+ !parent.props.plain,
390
+ },
391
+
392
+ // Info
393
+ {
394
+ 'hover:bg-blue-600 hover:ring-blue-600':
395
+ parent.props.severity === 'info' &&
396
+ !parent.props.text &&
397
+ !parent.props.outlined &&
398
+ !parent.props.plain,
399
+ },
400
+ {
401
+ 'focus:ring-blue-500':
402
+ parent.props.severity === 'info',
403
+ },
404
+ // Text & Outlined Button
405
+ {
406
+ 'hover:bg-blue-300/20':
407
+ (parent.props.text || parent.props.outlined) &&
408
+ parent.props.severity === 'info' &&
409
+ !parent.props.plain,
410
+ },
411
+
412
+ // Warning
413
+ {
414
+ 'hover:bg-orange-600 hover:ring-orange-600':
415
+ parent.props.severity === 'warning' &&
416
+ !parent.props.text &&
417
+ !parent.props.outlined &&
418
+ !parent.props.plain,
419
+ },
420
+ {
421
+ 'focus:ring-orange-500':
422
+ parent.props.severity === 'warning',
423
+ },
424
+ // Text & Outlined Button
425
+ {
426
+ 'hover:bg-orange-300/20':
427
+ (parent.props.text || parent.props.outlined) &&
428
+ parent.props.severity === 'warning' &&
429
+ !parent.props.plain,
430
+ },
431
+
432
+ // Help
433
+ {
434
+ 'hover:bg-purple-600 hover:ring-purple-600':
435
+ parent.props.severity === 'help' &&
436
+ !parent.props.text &&
437
+ !parent.props.outlined &&
438
+ !parent.props.plain,
439
+ },
440
+ {
441
+ 'focus:ring-purple-500':
442
+ parent.props.severity === 'help',
443
+ },
444
+ // Text & Outlined Button
445
+ {
446
+ 'hover:bg-purple-300/20':
447
+ (parent.props.text || parent.props.outlined) &&
448
+ parent.props.severity === 'help' &&
449
+ !parent.props.plain,
450
+ },
451
+
452
+ // Warning
453
+ {
454
+ 'hover:bg-red-600 hover:ring-red-600':
455
+ parent.props.severity === 'danger' &&
456
+ !parent.props.text &&
457
+ !parent.props.outlined &&
458
+ !parent.props.plain,
459
+ },
460
+ {
461
+ 'focus:ring-red-500':
462
+ parent.props.severity === 'danger',
463
+ },
464
+ // Text & Outlined Button
465
+ {
466
+ 'hover:bg-red-300/20':
467
+ (parent.props.text || parent.props.outlined) &&
468
+ parent.props.severity === 'danger' &&
469
+ !parent.props.plain,
470
+ },
471
+
472
+ // Transitions
473
+ 'transition duration-200 ease-in-out',
474
+
475
+ // Misc
476
+ 'cursor-pointer overflow-hidden select-none',
477
+ ],
478
+ }),
479
+ icon: {
480
+ class: [
481
+ // Margins
482
+ 'mr-2',
483
+ ],
484
+ },
485
+ },
486
+ menubutton: {
487
+ root: ({ parent }) => ({
488
+ class: [
489
+ 'relative',
490
+
491
+ // Alignments
492
+ 'items-center inline-flex text-center align-bottom justify-center',
493
+
494
+ // Sizes & Spacing
495
+ 'text-sm',
496
+ {
497
+ 'px-2.5 py-1.5 min-w-[2rem]':
498
+ parent.props.size === null && parent.props.label !== null,
499
+ 'px-2 py-1': parent.props.size === 'small',
500
+ 'px-3 py-2': parent.props.size === 'large',
501
+ },
502
+ {
503
+ 'h-8 w-8 p-0': parent.props.label == null,
504
+ },
505
+ 'ml-[1px]',
506
+
507
+ // Shape
508
+ 'rounded-l-none',
509
+ { 'rounded-l-full': parent.props.rounded },
510
+ {
511
+ 'rounded-md': !parent.props.rounded,
512
+ 'rounded-full': parent.props.rounded,
513
+ },
514
+
515
+ // Link Button
516
+ {
517
+ 'text-primary-600 bg-transparent ring-transparent': parent.props.link,
518
+ },
519
+
520
+ // Plain Button
521
+ {
522
+ 'text-white bg-gray-500 ring-1 ring-gray-500':
523
+ parent.props.plain && !parent.props.outlined && !parent.props.text,
524
+ },
525
+ // Plain Text Button
526
+ { 'text-surface-500': parent.props.plain && parent.props.text },
527
+ // Plain Outlined Button
528
+ {
529
+ 'text-surface-500 ring-1 ring-gray-500':
530
+ parent.props.plain && parent.props.outlined,
531
+ },
532
+
533
+ // Text Button
534
+ {
535
+ 'bg-transparent ring-transparent':
536
+ parent.props.text && !parent.props.plain,
537
+ },
538
+
539
+ // Outlined Button
540
+ { 'bg-transparent': parent.props.outlined && !parent.props.plain },
541
+
542
+ // --- Severity Buttons ---
543
+
544
+ // Primary Button
545
+ {
546
+ 'text-white':
547
+ !parent.props.link &&
548
+ parent.props.severity === null &&
549
+ !parent.props.text &&
550
+ !parent.props.outlined &&
551
+ !parent.props.plain,
552
+ 'bg-primary-500':
553
+ !parent.props.link &&
554
+ parent.props.severity === null &&
555
+ !parent.props.text &&
556
+ !parent.props.outlined &&
557
+ !parent.props.plain,
558
+ 'ring-1 ring-primary-500':
559
+ !parent.props.link &&
560
+ parent.props.severity === null &&
561
+ !parent.props.text &&
562
+ !parent.props.outlined &&
563
+ !parent.props.plain,
564
+ },
565
+ // Primary Text Button
566
+ {
567
+ 'text-primary-500':
568
+ parent.props.text &&
569
+ parent.props.severity === null &&
570
+ !parent.props.plain,
571
+ },
572
+ // Primary Outlined Button
573
+ {
574
+ 'text-primary-500 ring-1 ring-primary-500 hover:bg-primary-300/20':
575
+ parent.props.outlined &&
576
+ parent.props.severity === null &&
577
+ !parent.props.plain,
578
+ },
579
+
580
+ // Secondary Button
581
+ {
582
+ 'text-white':
583
+ parent.props.severity === 'secondary' &&
584
+ !parent.props.text &&
585
+ !parent.props.outlined &&
586
+ !parent.props.plain,
587
+ 'bg-surface-500':
588
+ parent.props.severity === 'secondary' &&
589
+ !parent.props.text &&
590
+ !parent.props.outlined &&
591
+ !parent.props.plain,
592
+ 'ring-1 ring-surface-500':
593
+ parent.props.severity === 'secondary' &&
594
+ !parent.props.text &&
595
+ !parent.props.outlined &&
596
+ !parent.props.plain,
597
+ },
598
+ // Secondary Text Button
599
+ {
600
+ 'text-surface-500':
601
+ parent.props.text &&
602
+ parent.props.severity === 'secondary' &&
603
+ !parent.props.plain,
604
+ },
605
+ // Secondary Outlined Button
606
+ {
607
+ 'text-surface-500 ring-1 ring-surface-500 hover:bg-surface-300/20':
608
+ parent.props.outlined &&
609
+ parent.props.severity === 'secondary' &&
610
+ !parent.props.plain,
611
+ },
612
+
613
+ // Success Button
614
+ {
615
+ 'text-white':
616
+ parent.props.severity === 'success' &&
617
+ !parent.props.text &&
618
+ !parent.props.outlined &&
619
+ !parent.props.plain,
620
+ 'bg-green-500':
621
+ parent.props.severity === 'success' &&
622
+ !parent.props.text &&
623
+ !parent.props.outlined &&
624
+ !parent.props.plain,
625
+ 'ring-1 ring-green-500':
626
+ parent.props.severity === 'success' &&
627
+ !parent.props.text &&
628
+ !parent.props.outlined &&
629
+ !parent.props.plain,
630
+ },
631
+ // Success Text Button
632
+ {
633
+ 'text-surface-500':
634
+ parent.props.text &&
635
+ parent.props.severity === 'secondary' &&
636
+ !parent.props.plain,
637
+ },
638
+ // Success Outlined Button
639
+ {
640
+ 'text-green-500 ring-1 ring-green-500 hover:bg-green-300/20':
641
+ parent.props.outlined &&
642
+ parent.props.severity === 'success' &&
643
+ !parent.props.plain,
644
+ },
645
+
646
+ // Info Button
647
+ {
648
+ 'text-white':
649
+ parent.props.severity === 'info' &&
650
+ !parent.props.text &&
651
+ !parent.props.outlined &&
652
+ !parent.props.plain,
653
+ 'bg-blue-500':
654
+ parent.props.severity === 'info' &&
655
+ !parent.props.text &&
656
+ !parent.props.outlined &&
657
+ !parent.props.plain,
658
+ 'ring-1 ring-blue-500':
659
+ parent.props.severity === 'info' &&
660
+ !parent.props.text &&
661
+ !parent.props.outlined &&
662
+ !parent.props.plain,
663
+ },
664
+ // Info Text Button
665
+ {
666
+ 'text-blue-500':
667
+ parent.props.text &&
668
+ parent.props.severity === 'info' &&
669
+ !parent.props.plain,
670
+ },
671
+ // Info Outlined Button
672
+ {
673
+ 'text-blue-500 ring-1 ring-blue-500 hover:bg-blue-300/20 ':
674
+ parent.props.outlined &&
675
+ parent.props.severity === 'info' &&
676
+ !parent.props.plain,
677
+ },
678
+
679
+ // Warning Button
680
+ {
681
+ 'text-white':
682
+ parent.props.severity === 'warning' &&
683
+ !parent.props.text &&
684
+ !parent.props.outlined &&
685
+ !parent.props.plain,
686
+ 'bg-orange-500':
687
+ parent.props.severity === 'warning' &&
688
+ !parent.props.text &&
689
+ !parent.props.outlined &&
690
+ !parent.props.plain,
691
+ 'ring-1 ring-orange-500':
692
+ parent.props.severity === 'warning' &&
693
+ !parent.props.text &&
694
+ !parent.props.outlined &&
695
+ !parent.props.plain,
696
+ },
697
+ // Warning Text Button
698
+ {
699
+ 'text-orange-500':
700
+ parent.props.text &&
701
+ parent.props.severity === 'warning' &&
702
+ !parent.props.plain,
703
+ },
704
+ // Warning Outlined Button
705
+ {
706
+ 'text-orange-500 ring-1 ring-orange-500 hover:bg-orange-300/20':
707
+ parent.props.outlined &&
708
+ parent.props.severity === 'warning' &&
709
+ !parent.props.plain,
710
+ },
711
+
712
+ // Help Button
713
+ {
714
+ 'text-white':
715
+ parent.props.severity === 'help' &&
716
+ !parent.props.text &&
717
+ !parent.props.outlined &&
718
+ !parent.props.plain,
719
+ 'bg-purple-500':
720
+ parent.props.severity === 'help' &&
721
+ !parent.props.text &&
722
+ !parent.props.outlined &&
723
+ !parent.props.plain,
724
+ 'ring-1 ring-purple-500':
725
+ parent.props.severity === 'help' &&
726
+ !parent.props.text &&
727
+ !parent.props.outlined &&
728
+ !parent.props.plain,
729
+ },
730
+ // Help Text Button
731
+ {
732
+ 'text-purple-500':
733
+ parent.props.text &&
734
+ parent.props.severity === 'help' &&
735
+ !parent.props.plain,
736
+ },
737
+ // Help Outlined Button
738
+ {
739
+ 'text-purple-500 ring-1 ring-purple-500 hover:bg-purple-300/20':
740
+ parent.props.outlined &&
741
+ parent.props.severity === 'help' &&
742
+ !parent.props.plain,
743
+ },
744
+
745
+ // Danger Button
746
+ {
747
+ 'text-white':
748
+ parent.props.severity === 'danger' &&
749
+ !parent.props.text &&
750
+ !parent.props.outlined &&
751
+ !parent.props.plain,
752
+ 'bg-red-500':
753
+ parent.props.severity === 'danger' &&
754
+ !parent.props.text &&
755
+ !parent.props.outlined &&
756
+ !parent.props.plain,
757
+ 'ring-1 ring-red-500':
758
+ parent.props.severity === 'danger' &&
759
+ !parent.props.text &&
760
+ !parent.props.outlined &&
761
+ !parent.props.plain,
762
+ },
763
+ // Danger Text Button
764
+ {
765
+ 'text-red-500':
766
+ parent.props.text &&
767
+ parent.props.severity === 'danger' &&
768
+ !parent.props.plain,
769
+ },
770
+ // Danger Outlined Button
771
+ {
772
+ 'text-red-500 ring-1 ring-red-500 hover:bg-red-300/20':
773
+ parent.props.outlined &&
774
+ parent.props.severity === 'danger' &&
775
+ !parent.props.plain,
776
+ },
777
+
778
+ // --- Severity Button States ---
779
+ 'focus:outline-none focus:outline-offset-0 focus:ring-2 focus:ring-offset-current',
780
+ {
781
+ 'focus:ring-offset-2':
782
+ !parent.props.link &&
783
+ !parent.props.plain &&
784
+ !parent.props.outlined &&
785
+ !parent.props.text,
786
+ },
787
+
788
+ // Link
789
+ {
790
+ 'focus:ring-primary-500':
791
+ parent.props.link,
792
+ },
793
+
794
+ // Plain
795
+ {
796
+ 'hover:bg-gray-600 hover:ring-gray-600':
797
+ parent.props.plain && !parent.props.outlined && !parent.props.text,
798
+ },
799
+ // Text & Outlined Button
800
+ {
801
+ 'hover:bg-surface-300/20':
802
+ parent.props.plain && (parent.props.text || parent.props.outlined),
803
+ },
804
+
805
+ // Primary
806
+ {
807
+ 'hover:bg-primary-600 hover:ring-primary-600':
808
+ !parent.props.link &&
809
+ parent.props.severity === null &&
810
+ !parent.props.text &&
811
+ !parent.props.outlined &&
812
+ !parent.props.plain,
813
+ },
814
+ {
815
+ 'focus:ring-primary-500':
816
+ parent.props.severity === null,
817
+ },
818
+ // Text & Outlined Button
819
+ {
820
+ 'hover:bg-primary-300/20':
821
+ (parent.props.text || parent.props.outlined) &&
822
+ parent.props.severity === null &&
823
+ !parent.props.plain,
824
+ },
825
+
826
+ // Secondary
827
+ {
828
+ 'hover:bg-surface-600 hover:ring-surface-600':
829
+ parent.props.severity === 'secondary' &&
830
+ !parent.props.text &&
831
+ !parent.props.outlined &&
832
+ !parent.props.plain,
833
+ },
834
+ {
835
+ 'focus:ring-surface-500':
836
+ parent.props.severity === 'secondary',
837
+ },
838
+ // Text & Outlined Button
839
+ {
840
+ 'hover:bg-surface-300/20':
841
+ (parent.props.text || parent.props.outlined) &&
842
+ parent.props.severity === 'secondary' &&
843
+ !parent.props.plain,
844
+ },
845
+
846
+ // Success
847
+ {
848
+ 'hover:bg-green-600 hover:ring-green-600':
849
+ parent.props.severity === 'success' &&
850
+ !parent.props.text &&
851
+ !parent.props.outlined &&
852
+ !parent.props.plain,
853
+ },
854
+ {
855
+ 'focus:ring-green-500':
856
+ parent.props.severity === 'success',
857
+ },
858
+ // Text & Outlined Button
859
+ {
860
+ 'hover:bg-green-300/20':
861
+ (parent.props.text || parent.props.outlined) &&
862
+ parent.props.severity === 'success' &&
863
+ !parent.props.plain,
864
+ },
865
+
866
+ // Info
867
+ {
868
+ 'hover:bg-blue-600 hover:ring-blue-600':
869
+ parent.props.severity === 'info' &&
870
+ !parent.props.text &&
871
+ !parent.props.outlined &&
872
+ !parent.props.plain,
873
+ },
874
+ {
875
+ 'focus:ring-blue-500':
876
+ parent.props.severity === 'info',
877
+ },
878
+ // Text & Outlined Button
879
+ {
880
+ 'hover:bg-blue-300/20':
881
+ (parent.props.text || parent.props.outlined) &&
882
+ parent.props.severity === 'info' &&
883
+ !parent.props.plain,
884
+ },
885
+
886
+ // Warning
887
+ {
888
+ 'hover:bg-orange-600 hover:ring-orange-600':
889
+ parent.props.severity === 'warning' &&
890
+ !parent.props.text &&
891
+ !parent.props.outlined &&
892
+ !parent.props.plain,
893
+ },
894
+ {
895
+ 'focus:ring-orange-500':
896
+ parent.props.severity === 'warning',
897
+ },
898
+ // Text & Outlined Button
899
+ {
900
+ 'hover:bg-orange-300/20':
901
+ (parent.props.text || parent.props.outlined) &&
902
+ parent.props.severity === 'warning' &&
903
+ !parent.props.plain,
904
+ },
905
+
906
+ // Help
907
+ {
908
+ 'hover:bg-purple-600 hover:ring-purple-600':
909
+ parent.props.severity === 'help' &&
910
+ !parent.props.text &&
911
+ !parent.props.outlined &&
912
+ !parent.props.plain,
913
+ },
914
+ {
915
+ 'focus:ring-purple-500':
916
+ parent.props.severity === 'help',
917
+ },
918
+ // Text & Outlined Button
919
+ {
920
+ 'hover:bg-purple-300/20':
921
+ (parent.props.text || parent.props.outlined) &&
922
+ parent.props.severity === 'help' &&
923
+ !parent.props.plain,
924
+ },
925
+
926
+ // Warning
927
+ {
928
+ 'hover:bg-red-600 hover:ring-red-600':
929
+ parent.props.severity === 'danger' &&
930
+ !parent.props.text &&
931
+ !parent.props.outlined &&
932
+ !parent.props.plain,
933
+ },
934
+ {
935
+ 'focus:ring-red-500':
936
+ parent.props.severity === 'danger',
937
+ },
938
+ // Text & Outlined Button
939
+ {
940
+ 'hover:bg-red-300/20':
941
+ (parent.props.text || parent.props.outlined) &&
942
+ parent.props.severity === 'danger' &&
943
+ !parent.props.plain,
944
+ },
945
+
946
+ // Transitions
947
+ 'transition duration-200 ease-in-out',
948
+
949
+ // Misc
950
+ 'cursor-pointer overflow-hidden select-none',
951
+ ],
952
+ }),
953
+ label: {
954
+ class: ['hidden'],
955
+ },
956
+ },
957
+ };