@gluhar/theme 2.0.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +2 -47
  3. package/dist/module.d.mts +0 -4
  4. package/dist/module.d.ts +0 -4
  5. package/dist/module.json +1 -1
  6. package/dist/module.mjs +1 -9
  7. package/dist/runtime/tailwind/gluharTheme.js +3 -27
  8. package/dist/runtime/tailwind/handleTailwind.js +1 -5
  9. package/package.json +3 -6
  10. package/dist/runtime/presets/lara/accordion/index.d.ts +0 -49
  11. package/dist/runtime/presets/lara/accordion/index.js +0 -78
  12. package/dist/runtime/presets/lara/autocomplete/index.d.ts +0 -200
  13. package/dist/runtime/presets/lara/autocomplete/index.js +0 -259
  14. package/dist/runtime/presets/lara/avatar/index.d.ts +0 -83
  15. package/dist/runtime/presets/lara/avatar/index.js +0 -43
  16. package/dist/runtime/presets/lara/avatargroup/index.d.ts +0 -7
  17. package/dist/runtime/presets/lara/avatargroup/index.js +0 -5
  18. package/dist/runtime/presets/lara/badge/index.d.ts +0 -72
  19. package/dist/runtime/presets/lara/badge/index.js +0 -43
  20. package/dist/runtime/presets/lara/badgedirective/index.d.ts +0 -50
  21. package/dist/runtime/presets/lara/badgedirective/index.js +0 -43
  22. package/dist/runtime/presets/lara/blockui/index.d.ts +0 -11
  23. package/dist/runtime/presets/lara/blockui/index.js +0 -8
  24. package/dist/runtime/presets/lara/breadcrumb/index.d.ts +0 -23
  25. package/dist/runtime/presets/lara/breadcrumb/index.js +0 -64
  26. package/dist/runtime/presets/lara/button/index.d.ts +0 -3790
  27. package/dist/runtime/presets/lara/button/index.js +0 -220
  28. package/dist/runtime/presets/lara/calendar/index.d.ts +0 -334
  29. package/dist/runtime/presets/lara/calendar/index.js +0 -643
  30. package/dist/runtime/presets/lara/card/index.d.ts +0 -27
  31. package/dist/runtime/presets/lara/card/index.js +0 -37
  32. package/dist/runtime/presets/lara/carousel/index.d.ts +0 -71
  33. package/dist/runtime/presets/lara/carousel/index.js +0 -149
  34. package/dist/runtime/presets/lara/cascadeselect/index.d.ts +0 -112
  35. package/dist/runtime/presets/lara/cascadeselect/index.js +0 -209
  36. package/dist/runtime/presets/lara/checkbox/index.d.ts +0 -45
  37. package/dist/runtime/presets/lara/checkbox/index.js +0 -101
  38. package/dist/runtime/presets/lara/chip/index.d.ts +0 -23
  39. package/dist/runtime/presets/lara/chip/index.js +0 -45
  40. package/dist/runtime/presets/lara/chips/index.d.ts +0 -56
  41. package/dist/runtime/presets/lara/chips/index.js +0 -114
  42. package/dist/runtime/presets/lara/colorpicker/index.d.ts +0 -51
  43. package/dist/runtime/presets/lara/colorpicker/index.js +0 -123
  44. package/dist/runtime/presets/lara/confirmpopup/index.d.ts +0 -39
  45. package/dist/runtime/presets/lara/confirmpopup/index.js +0 -106
  46. package/dist/runtime/presets/lara/contextmenu/index.d.ts +0 -72
  47. package/dist/runtime/presets/lara/contextmenu/index.js +0 -125
  48. package/dist/runtime/presets/lara/datatable/index.d.ts +0 -695
  49. package/dist/runtime/presets/lara/datatable/index.js +0 -1170
  50. package/dist/runtime/presets/lara/dataview/index.d.ts +0 -15
  51. package/dist/runtime/presets/lara/dataview/index.js +0 -40
  52. package/dist/runtime/presets/lara/dataviewlayoutoptions/index.d.ts +0 -13
  53. package/dist/runtime/presets/lara/dataviewlayoutoptions/index.js +0 -62
  54. package/dist/runtime/presets/lara/deferred/index.d.ts +0 -4
  55. package/dist/runtime/presets/lara/deferred/index.js +0 -3
  56. package/dist/runtime/presets/lara/dialog/index.d.ts +0 -79
  57. package/dist/runtime/presets/lara/dialog/index.js +0 -235
  58. package/dist/runtime/presets/lara/divider/index.d.ts +0 -192
  59. package/dist/runtime/presets/lara/divider/index.js +0 -67
  60. package/dist/runtime/presets/lara/dock/index.d.ts +0 -51
  61. package/dist/runtime/presets/lara/dock/index.js +0 -93
  62. package/dist/runtime/presets/lara/dropdown/index.d.ts +0 -207
  63. package/dist/runtime/presets/lara/dropdown/index.js +0 -265
  64. package/dist/runtime/presets/lara/fieldset/index.d.ts +0 -87
  65. package/dist/runtime/presets/lara/fieldset/index.js +0 -84
  66. package/dist/runtime/presets/lara/fileupload/index.d.ts +0 -70
  67. package/dist/runtime/presets/lara/fileupload/index.js +0 -173
  68. package/dist/runtime/presets/lara/floatlabel/index.d.ts +0 -7
  69. package/dist/runtime/presets/lara/floatlabel/index.js +0 -26
  70. package/dist/runtime/presets/lara/galleria/index.d.ts +0 -194
  71. package/dist/runtime/presets/lara/galleria/index.js +0 -306
  72. package/dist/runtime/presets/lara/global.d.ts +0 -4
  73. package/dist/runtime/presets/lara/global.js +0 -90
  74. package/dist/runtime/presets/lara/iconfield/index.d.ts +0 -18
  75. package/dist/runtime/presets/lara/iconfield/index.js +0 -22
  76. package/dist/runtime/presets/lara/image/index.d.ts +0 -65
  77. package/dist/runtime/presets/lara/image/index.js +0 -206
  78. package/dist/runtime/presets/lara/index.d.ts +0 -187
  79. package/dist/runtime/presets/lara/index.js +0 -207
  80. package/dist/runtime/presets/lara/inlinemessage/index.d.ts +0 -55
  81. package/dist/runtime/presets/lara/inlinemessage/index.js +0 -36
  82. package/dist/runtime/presets/lara/inplace/index.d.ts +0 -7
  83. package/dist/runtime/presets/lara/inplace/index.js +0 -27
  84. package/dist/runtime/presets/lara/inputgroup/index.d.ts +0 -7
  85. package/dist/runtime/presets/lara/inputgroup/index.js +0 -5
  86. package/dist/runtime/presets/lara/inputgroupaddon/index.d.ts +0 -7
  87. package/dist/runtime/presets/lara/inputgroupaddon/index.js +0 -28
  88. package/dist/runtime/presets/lara/inputmask/index.d.ts +0 -27
  89. package/dist/runtime/presets/lara/inputmask/index.js +0 -34
  90. package/dist/runtime/presets/lara/inputnumber/index.d.ts +0 -390
  91. package/dist/runtime/presets/lara/inputnumber/index.js +0 -164
  92. package/dist/runtime/presets/lara/inputotp/index.d.ts +0 -147
  93. package/dist/runtime/presets/lara/inputotp/index.js +0 -60
  94. package/dist/runtime/presets/lara/inputswitch/index.d.ts +0 -67
  95. package/dist/runtime/presets/lara/inputswitch/index.js +0 -80
  96. package/dist/runtime/presets/lara/inputtext/index.d.ts +0 -160
  97. package/dist/runtime/presets/lara/inputtext/index.js +0 -49
  98. package/dist/runtime/presets/lara/knob/index.d.ts +0 -22
  99. package/dist/runtime/presets/lara/knob/index.js +0 -44
  100. package/dist/runtime/presets/lara/listbox/index.d.ts +0 -93
  101. package/dist/runtime/presets/lara/listbox/index.js +0 -152
  102. package/dist/runtime/presets/lara/megamenu/index.d.ts +0 -105
  103. package/dist/runtime/presets/lara/megamenu/index.js +0 -199
  104. package/dist/runtime/presets/lara/menu/index.d.ts +0 -40
  105. package/dist/runtime/presets/lara/menu/index.js +0 -96
  106. package/dist/runtime/presets/lara/menubar/index.d.ts +0 -85
  107. package/dist/runtime/presets/lara/menubar/index.js +0 -176
  108. package/dist/runtime/presets/lara/message/index.d.ts +0 -70
  109. package/dist/runtime/presets/lara/message/index.js +0 -87
  110. package/dist/runtime/presets/lara/metergroup/index.d.ts +0 -92
  111. package/dist/runtime/presets/lara/metergroup/index.js +0 -97
  112. package/dist/runtime/presets/lara/multiselect/index.d.ts +0 -260
  113. package/dist/runtime/presets/lara/multiselect/index.js +0 -546
  114. package/dist/runtime/presets/lara/orderlist/index.d.ts +0 -99
  115. package/dist/runtime/presets/lara/orderlist/index.js +0 -257
  116. package/dist/runtime/presets/lara/organizationchart/index.d.ts +0 -81
  117. package/dist/runtime/presets/lara/organizationchart/index.js +0 -138
  118. package/dist/runtime/presets/lara/overlaypanel/index.d.ts +0 -17
  119. package/dist/runtime/presets/lara/overlaypanel/index.js +0 -40
  120. package/dist/runtime/presets/lara/paginator/index.d.ts +0 -280
  121. package/dist/runtime/presets/lara/paginator/index.js +0 -533
  122. package/dist/runtime/presets/lara/panel/index.d.ts +0 -39
  123. package/dist/runtime/presets/lara/panel/index.js +0 -91
  124. package/dist/runtime/presets/lara/panelmenu/index.d.ts +0 -76
  125. package/dist/runtime/presets/lara/panelmenu/index.js +0 -127
  126. package/dist/runtime/presets/lara/password/index.d.ts +0 -181
  127. package/dist/runtime/presets/lara/password/index.js +0 -118
  128. package/dist/runtime/presets/lara/picklist/index.d.ts +0 -245
  129. package/dist/runtime/presets/lara/picklist/index.js +0 -650
  130. package/dist/runtime/presets/lara/progressbar/index.d.ts +0 -44
  131. package/dist/runtime/presets/lara/progressbar/index.js +0 -55
  132. package/dist/runtime/presets/lara/progressspinner/index.d.ts +0 -15
  133. package/dist/runtime/presets/lara/progressspinner/index.js +0 -51
  134. package/dist/runtime/presets/lara/radiobutton/index.d.ts +0 -57
  135. package/dist/runtime/presets/lara/radiobutton/index.js +0 -104
  136. package/dist/runtime/presets/lara/rating/index.d.ts +0 -49
  137. package/dist/runtime/presets/lara/rating/index.js +0 -92
  138. package/dist/runtime/presets/lara/ripple/index.d.ts +0 -8
  139. package/dist/runtime/presets/lara/ripple/index.js +0 -6
  140. package/dist/runtime/presets/lara/scrollpanel/index.d.ts +0 -19
  141. package/dist/runtime/presets/lara/scrollpanel/index.js +0 -77
  142. package/dist/runtime/presets/lara/scrolltop/index.d.ts +0 -50
  143. package/dist/runtime/presets/lara/scrolltop/index.js +0 -41
  144. package/dist/runtime/presets/lara/selectbutton/index.d.ts +0 -56
  145. package/dist/runtime/presets/lara/selectbutton/index.js +0 -49
  146. package/dist/runtime/presets/lara/sidebar/index.d.ts +0 -66
  147. package/dist/runtime/presets/lara/sidebar/index.js +0 -149
  148. package/dist/runtime/presets/lara/skeleton/index.d.ts +0 -16
  149. package/dist/runtime/presets/lara/skeleton/index.js +0 -16
  150. package/dist/runtime/presets/lara/slider/index.d.ts +0 -55
  151. package/dist/runtime/presets/lara/slider/index.js +0 -137
  152. package/dist/runtime/presets/lara/speeddial/index.d.ts +0 -3091
  153. package/dist/runtime/presets/lara/speeddial/index.js +0 -283
  154. package/dist/runtime/presets/lara/splitbutton/index.d.ts +0 -6749
  155. package/dist/runtime/presets/lara/splitbutton/index.js +0 -502
  156. package/dist/runtime/presets/lara/splitter/index.d.ts +0 -30
  157. package/dist/runtime/presets/lara/splitter/index.js +0 -61
  158. package/dist/runtime/presets/lara/splitterpanel/index.d.ts +0 -10
  159. package/dist/runtime/presets/lara/splitterpanel/index.js +0 -5
  160. package/dist/runtime/presets/lara/stepper/index.d.ts +0 -66
  161. package/dist/runtime/presets/lara/stepper/index.js +0 -161
  162. package/dist/runtime/presets/lara/steps/index.d.ts +0 -57
  163. package/dist/runtime/presets/lara/steps/index.js +0 -111
  164. package/dist/runtime/presets/lara/tabmenu/index.d.ts +0 -43
  165. package/dist/runtime/presets/lara/tabmenu/index.js +0 -73
  166. package/dist/runtime/presets/lara/tabview/index.d.ts +0 -67
  167. package/dist/runtime/presets/lara/tabview/index.js +0 -156
  168. package/dist/runtime/presets/lara/tag/index.d.ts +0 -32
  169. package/dist/runtime/presets/lara/tag/index.js +0 -36
  170. package/dist/runtime/presets/lara/terminal/index.d.ts +0 -27
  171. package/dist/runtime/presets/lara/terminal/index.js +0 -60
  172. package/dist/runtime/presets/lara/textarea/index.d.ts +0 -27
  173. package/dist/runtime/presets/lara/textarea/index.js +0 -36
  174. package/dist/runtime/presets/lara/tieredmenu/index.d.ts +0 -56
  175. package/dist/runtime/presets/lara/tieredmenu/index.js +0 -120
  176. package/dist/runtime/presets/lara/timeline/index.d.ts +0 -84
  177. package/dist/runtime/presets/lara/timeline/index.js +0 -81
  178. package/dist/runtime/presets/lara/toast/index.d.ts +0 -92
  179. package/dist/runtime/presets/lara/toast/index.js +0 -102
  180. package/dist/runtime/presets/lara/togglebutton/index.d.ts +0 -72
  181. package/dist/runtime/presets/lara/togglebutton/index.js +0 -91
  182. package/dist/runtime/presets/lara/toolbar/index.d.ts +0 -19
  183. package/dist/runtime/presets/lara/toolbar/index.js +0 -28
  184. package/dist/runtime/presets/lara/tooltip/index.d.ts +0 -38
  185. package/dist/runtime/presets/lara/tooltip/index.js +0 -46
  186. package/dist/runtime/presets/lara/tree/index.d.ts +0 -105
  187. package/dist/runtime/presets/lara/tree/index.js +0 -258
  188. package/dist/runtime/presets/lara/treeselect/index.d.ts +0 -181
  189. package/dist/runtime/presets/lara/treeselect/index.js +0 -352
  190. package/dist/runtime/presets/lara/treetable/index.d.ts +0 -316
  191. package/dist/runtime/presets/lara/treetable/index.js +0 -434
  192. package/dist/runtime/presets/lara/tristatecheckbox/index.d.ts +0 -49
  193. package/dist/runtime/presets/lara/tristatecheckbox/index.js +0 -104
@@ -1,283 +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-16 h-16 p-0 py-3',
17
-
18
- // Shapes
19
- 'rounded-full',
20
- 'shadow-md',
21
-
22
- // Link Button
23
- { 'text-primary-600 bg-transparent border-transparent': props.link },
24
-
25
- // Plain Button
26
- { 'text-white bg-gray-500 border border-gray-500': props.plain && !props.outlined && !props.text },
27
- // Plain Text Button
28
- { 'text-surface-500': props.plain && props.text },
29
- // Plain Outlined Button
30
- { 'text-surface-500 border border-gray-500': props.plain && props.outlined },
31
-
32
- // Text Button
33
- { 'bg-transparent border-transparent': props.text && !props.plain },
34
-
35
- // Outlined Button
36
- { 'bg-transparent border': props.outlined && !props.plain },
37
-
38
- // --- Severity Buttons ---
39
-
40
- // Primary Button
41
- {
42
- 'text-white dark:text-surface-900': !props.link && props.severity === null && !props.text && !props.outlined && !props.plain,
43
- 'bg-primary-500 dark:bg-primary-400': !props.link && props.severity === null && !props.text && !props.outlined && !props.plain,
44
- 'border border-primary-500 dark:border-primary-400': !props.link && props.severity === null && !props.text && !props.outlined && !props.plain
45
- },
46
- // Primary Text Button
47
- { 'text-primary-500 dark:text-primary-400': props.text && props.severity === null && !props.plain },
48
- // Primary Outlined Button
49
- { 'text-primary-500 border border-primary-500 hover:bg-primary-300/20': props.outlined && props.severity === null && !props.plain },
50
-
51
- // Secondary Button
52
- {
53
- 'text-white dark:text-surface-900': props.severity === 'secondary' && !props.text && !props.outlined && !props.plain,
54
- 'bg-surface-500 dark:bg-surface-400': props.severity === 'secondary' && !props.text && !props.outlined && !props.plain,
55
- 'border border-surface-500 dark:border-surface-400': props.severity === 'secondary' && !props.text && !props.outlined && !props.plain
56
- },
57
- // Secondary Text Button
58
- { 'text-surface-500 dark:text-surface-300': props.text && props.severity === 'secondary' && !props.plain },
59
- // Secondary Outlined Button
60
- { 'text-surface-500 dark:text-surface-300 border border-surface-500 hover:bg-surface-300/20': props.outlined && props.severity === 'secondary' && !props.plain },
61
-
62
- // Success Button
63
- {
64
- 'text-white dark:text-green-900': props.severity === 'success' && !props.text && !props.outlined && !props.plain,
65
- 'bg-green-500 dark:bg-green-400': props.severity === 'success' && !props.text && !props.outlined && !props.plain,
66
- 'border border-green-500 dark:border-green-400': props.severity === 'success' && !props.text && !props.outlined && !props.plain
67
- },
68
- // Success Text Button
69
- { 'text-green-500 dark:text-green-400': props.text && props.severity === 'success' && !props.plain },
70
- // Success Outlined Button
71
- { 'text-green-500 border border-green-500 hover:bg-green-300/20': props.outlined && props.severity === 'success' && !props.plain },
72
-
73
- // Info Button
74
- {
75
- 'text-white dark:text-surface-900': props.severity === 'info' && !props.text && !props.outlined && !props.plain,
76
- 'bg-blue-500 dark:bg-blue-400': props.severity === 'info' && !props.text && !props.outlined && !props.plain,
77
- 'border border-blue-500 dark:border-blue-400': props.severity === 'info' && !props.text && !props.outlined && !props.plain
78
- },
79
- // Info Text Button
80
- { 'text-blue-500 dark:text-blue-400': props.text && props.severity === 'info' && !props.plain },
81
- // Info Outlined Button
82
- { 'text-blue-500 border border-blue-500 hover:bg-blue-300/20 ': props.outlined && props.severity === 'info' && !props.plain },
83
-
84
- // Warning Button
85
- {
86
- 'text-white dark:text-surface-900': props.severity === 'warning' && !props.text && !props.outlined && !props.plain,
87
- 'bg-orange-500 dark:bg-orange-400': props.severity === 'warning' && !props.text && !props.outlined && !props.plain,
88
- 'border border-orange-500 dark:border-orange-400': props.severity === 'warning' && !props.text && !props.outlined && !props.plain
89
- },
90
- // Warning Text Button
91
- { 'text-orange-500 dark:text-orange-400': props.text && props.severity === 'warning' && !props.plain },
92
- // Warning Outlined Button
93
- { 'text-orange-500 border border-orange-500 hover:bg-orange-300/20': props.outlined && props.severity === 'warning' && !props.plain },
94
-
95
- // Help Button
96
- {
97
- 'text-white dark:text-surface-900': props.severity === 'help' && !props.text && !props.outlined && !props.plain,
98
- 'bg-purple-500 dark:bg-purple-400': props.severity === 'help' && !props.text && !props.outlined && !props.plain,
99
- 'border border-purple-500 dark:border-purple-400': props.severity === 'help' && !props.text && !props.outlined && !props.plain
100
- },
101
- // Help Text Button
102
- { 'text-purple-500 dark:text-purple-400': props.text && props.severity === 'help' && !props.plain },
103
- // Help Outlined Button
104
- { 'text-purple-500 border border-purple-500 hover:bg-purple-300/20': props.outlined && props.severity === 'help' && !props.plain },
105
-
106
- // Danger Button
107
- {
108
- 'text-white dark:text-surface-900': props.severity === 'danger' && !props.text && !props.outlined && !props.plain,
109
- 'bg-red-500 dark:bg-red-400': props.severity === 'danger' && !props.text && !props.outlined && !props.plain,
110
- 'border border-red-500 dark:border-red-400': props.severity === 'danger' && !props.text && !props.outlined && !props.plain
111
- },
112
- // Danger Text Button
113
- { 'text-red-500 dark:text-red-400': props.text && props.severity === 'danger' && !props.plain },
114
- // Danger Outlined Button
115
- { 'text-red-500 border border-red-500 hover:bg-red-300/20': props.outlined && props.severity === 'danger' && !props.plain },
116
-
117
- // --- Severity Button States ---
118
- 'focus:outline-none focus:outline-offset-0 focus:ring',
119
-
120
- // Link
121
- { 'focus:ring-primary-400/50 dark:focus:ring-primary-300/50': props.link },
122
-
123
- // Plain
124
- { 'hover:bg-gray-600 hover:border-gray-600': props.plain && !props.outlined && !props.text },
125
- // Text & Outlined Button
126
- { 'hover:bg-surface-300/20': props.plain && (props.text || props.outlined) },
127
-
128
- // Primary
129
- { 'hover:bg-primary-600 dark:hover:bg-primary-300 hover:border-primary-600 dark:hover:border-primary-300': !props.link && props.severity === null && !props.text && !props.outlined && !props.plain },
130
- { 'focus:ring-primary-400/50 dark:focus:ring-primary-300/50': props.severity === null },
131
- // Text & Outlined Button
132
- { 'hover:bg-primary-300/20': (props.text || props.outlined) && props.severity === null && !props.plain },
133
-
134
- // Secondary
135
- { 'hover:bg-surface-600 dark:hover:bg-surface-300 hover:border-surface-600 dark:hover:border-surface-300': props.severity === 'secondary' && !props.text && !props.outlined && !props.plain },
136
- { 'focus:ring-surface-400/50 dark:focus:ring-surface-300/50': props.severity === 'secondary' },
137
- // Text & Outlined Button
138
- { 'hover:bg-surface-300/20': (props.text || props.outlined) && props.severity === 'secondary' && !props.plain },
139
-
140
- // Success
141
- { 'hover:bg-green-600 dark:hover:bg-green-300 hover:border-green-600 dark:hover:border-green-300': props.severity === 'success' && !props.text && !props.outlined && !props.plain },
142
- { 'focus:ring-green-400/50 dark:focus:ring-green-300/50': props.severity === 'success' },
143
- // Text & Outlined Button
144
- { 'hover:bg-green-300/20': (props.text || props.outlined) && props.severity === 'success' && !props.plain },
145
-
146
- // Info
147
- { 'hover:bg-blue-600 dark:hover:bg-blue-300 hover:border-blue-600 dark:hover:border-blue-300': props.severity === 'info' && !props.text && !props.outlined && !props.plain },
148
- { 'focus:ring-blue-400/50 dark:focus:ring-blue-300/50': props.severity === 'info' },
149
- // Text & Outlined Button
150
- { 'hover:bg-blue-300/20': (props.text || props.outlined) && props.severity === 'info' && !props.plain },
151
-
152
- // Warning
153
- { 'hover:bg-orange-600 dark:hover:bg-orange-300 hover:border-orange-600 dark:hover:border-orange-300': props.severity === 'warning' && !props.text && !props.outlined && !props.plain },
154
- { 'focus:ring-orange-400/50 dark:focus:ring-orange-300/50': props.severity === 'warning' },
155
- // Text & Outlined Button
156
- { 'hover:bg-orange-300/20': (props.text || props.outlined) && props.severity === 'warning' && !props.plain },
157
-
158
- // Help
159
- { 'hover:bg-purple-600 dark:hover:bg-purple-300 hover:border-purple-600 dark:hover:border-purple-300': props.severity === 'help' && !props.text && !props.outlined && !props.plain },
160
- { 'focus:ring-purple-400/50 dark:focus:ring-purple-300/50': props.severity === 'help' },
161
- // Text & Outlined Button
162
- { 'hover:bg-purple-300/20': (props.text || props.outlined) && props.severity === 'help' && !props.plain },
163
-
164
- // Danger
165
- { 'hover:bg-red-600 dark:hover:bg-red-300 hover:border-red-600 dark:hover:border-red-300': props.severity === 'danger' && !props.text && !props.outlined && !props.plain },
166
- { 'focus:ring-red-400/50 dark:focus:ring-red-300/50': props.severity === 'danger' },
167
- // Text & Outlined Button
168
- { 'hover:bg-red-300/20': (props.text || props.outlined) && props.severity === 'danger' && !props.plain },
169
-
170
- // Disabled
171
- { 'opacity-60 pointer-events-none cursor-default': context.disabled },
172
-
173
- // Transitions
174
- 'transition duration-200 ease-in-out',
175
- parent.state.d_visible ? 'rotate-45' : 'rotate-0',
176
-
177
- // Misc
178
- 'cursor-pointer overflow-hidden select-none'
179
- ]
180
- }),
181
- label: ({ props }) => ({
182
- class: [
183
- 'duration-200',
184
- 'font-bold',
185
- {
186
- 'hover:underline': props.link
187
- },
188
- { 'flex-1': props.label !== null, 'invisible w-0': props.label == null }
189
- ]
190
- }),
191
- icon: ({ props }) => ({
192
- class: [
193
- 'mx-0',
194
- {
195
- 'mr-2': props.iconPos == 'left' && props.label != null,
196
- 'ml-2 order-1': props.iconPos == 'right' && props.label != null,
197
- 'mb-2': props.iconPos == 'top' && props.label != null,
198
- 'mt-2': props.iconPos == 'bottom' && props.label != null
199
- }
200
- ]
201
- }),
202
- loadingicon: ({ props }) => ({
203
- class: [
204
- 'h-4 w-4',
205
- 'mx-0',
206
- {
207
- 'mr-2': props.iconPos == 'left' && props.label != null,
208
- 'ml-2 order-1': props.iconPos == 'right' && props.label != null,
209
- 'mb-2': props.iconPos == 'top' && props.label != null,
210
- 'mt-2': props.iconPos == 'bottom' && props.label != null
211
- },
212
- 'animate-spin'
213
- ]
214
- }),
215
- badge: ({ props }) => ({
216
- class: [{ 'ml-2 w-4 h-4 leading-none flex items-center justify-center': props.badge }]
217
- })
218
- },
219
- menu: {
220
- class: [
221
- // Spacing
222
- 'm-0 p-0',
223
-
224
- // Layout & Flexbox
225
- 'list-none flex items-center justify-center',
226
-
227
- // Transitions
228
- 'transition delay-200',
229
-
230
- // Z-Index (Positioning)
231
- 'z-20'
232
- ]
233
- },
234
- menuitem: ({ props, context }) => ({
235
- class: [
236
- 'transform transition-transform duration-200 ease-out transition-opacity duration-800',
237
-
238
- // Conditional Appearance
239
- context.hidden ? 'opacity-0 scale-0' : 'opacity-100 scale-100',
240
-
241
- // Conditional Spacing
242
- {
243
- 'my-1 first:mb-2': props.direction == 'up' && props.type == 'linear',
244
- 'my-1 first:mt-2': props.direction == 'down' && props.type == 'linear',
245
- 'mx-1 first:mr-2': props.direction == 'left' && props.type == 'linear',
246
- 'mx-1 first:ml-2': props.direction == 'right' && props.type == 'linear'
247
- },
248
-
249
- // Conditional Positioning
250
- { absolute: props.type !== 'linear' }
251
- ]
252
- }),
253
- action: {
254
- class: [
255
- // Flexbox & Alignment
256
- 'flex items-center justify-center',
257
-
258
- // Size
259
- 'w-12 h-12',
260
-
261
- // Shape
262
- 'rounded-full relative overflow-hidden',
263
-
264
- // Appearance
265
- 'bg-surface-600 dark:bg-surface-0/80 text-white dark:text-surface-900/80',
266
-
267
- // Hover Effects
268
- 'hover:bg-surface-700 dark:hover:bg-surface-200/80'
269
- ]
270
- },
271
- mask: ({ state }) => ({
272
- class: [
273
- // Base Styles
274
- 'absolute left-0 top-0 w-full h-full transition-opacity duration-250 ease-in-out bg-black/40 z-0',
275
-
276
- // Conditional Appearance
277
- {
278
- 'opacity-0 pointer-events-none': !state.d_visible,
279
- 'opacity-100 transition-opacity duration-400 ease-in-out': state.d_visible
280
- }
281
- ]
282
- })
283
- };