@gluhar/theme 2.0.0-dev.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 (206) hide show
  1. package/CHANGELOG.md +147 -0
  2. package/README.md +162 -0
  3. package/dist/module.cjs +5 -0
  4. package/dist/module.d.mts +13 -0
  5. package/dist/module.d.ts +13 -0
  6. package/dist/module.json +9 -0
  7. package/dist/module.mjs +34 -0
  8. package/dist/runtime/composables/useTheme.d.ts +10 -0
  9. package/dist/runtime/composables/useTheme.js +29 -0
  10. package/dist/runtime/fonts/object-sans/PPObjectSans-Heavy.otf +0 -0
  11. package/dist/runtime/fonts/object-sans/PPObjectSans-HeavySlanted.otf +0 -0
  12. package/dist/runtime/fonts/object-sans/PPObjectSans-Regular.otf +0 -0
  13. package/dist/runtime/fonts/object-sans/PPObjectSans-Slanted.otf +0 -0
  14. package/dist/runtime/fonts/object-sans/stylesheet.css +1 -0
  15. package/dist/runtime/presets/lara/accordion/index.d.ts +49 -0
  16. package/dist/runtime/presets/lara/accordion/index.js +78 -0
  17. package/dist/runtime/presets/lara/autocomplete/index.d.ts +200 -0
  18. package/dist/runtime/presets/lara/autocomplete/index.js +259 -0
  19. package/dist/runtime/presets/lara/avatar/index.d.ts +83 -0
  20. package/dist/runtime/presets/lara/avatar/index.js +43 -0
  21. package/dist/runtime/presets/lara/avatargroup/index.d.ts +7 -0
  22. package/dist/runtime/presets/lara/avatargroup/index.js +5 -0
  23. package/dist/runtime/presets/lara/badge/index.d.ts +72 -0
  24. package/dist/runtime/presets/lara/badge/index.js +43 -0
  25. package/dist/runtime/presets/lara/badgedirective/index.d.ts +50 -0
  26. package/dist/runtime/presets/lara/badgedirective/index.js +43 -0
  27. package/dist/runtime/presets/lara/blockui/index.d.ts +11 -0
  28. package/dist/runtime/presets/lara/blockui/index.js +8 -0
  29. package/dist/runtime/presets/lara/breadcrumb/index.d.ts +23 -0
  30. package/dist/runtime/presets/lara/breadcrumb/index.js +64 -0
  31. package/dist/runtime/presets/lara/button/index.d.ts +3790 -0
  32. package/dist/runtime/presets/lara/button/index.js +220 -0
  33. package/dist/runtime/presets/lara/calendar/index.d.ts +334 -0
  34. package/dist/runtime/presets/lara/calendar/index.js +643 -0
  35. package/dist/runtime/presets/lara/card/index.d.ts +27 -0
  36. package/dist/runtime/presets/lara/card/index.js +37 -0
  37. package/dist/runtime/presets/lara/carousel/index.d.ts +71 -0
  38. package/dist/runtime/presets/lara/carousel/index.js +149 -0
  39. package/dist/runtime/presets/lara/cascadeselect/index.d.ts +112 -0
  40. package/dist/runtime/presets/lara/cascadeselect/index.js +209 -0
  41. package/dist/runtime/presets/lara/checkbox/index.d.ts +45 -0
  42. package/dist/runtime/presets/lara/checkbox/index.js +101 -0
  43. package/dist/runtime/presets/lara/chip/index.d.ts +23 -0
  44. package/dist/runtime/presets/lara/chip/index.js +45 -0
  45. package/dist/runtime/presets/lara/chips/index.d.ts +56 -0
  46. package/dist/runtime/presets/lara/chips/index.js +114 -0
  47. package/dist/runtime/presets/lara/colorpicker/index.d.ts +51 -0
  48. package/dist/runtime/presets/lara/colorpicker/index.js +123 -0
  49. package/dist/runtime/presets/lara/confirmpopup/index.d.ts +39 -0
  50. package/dist/runtime/presets/lara/confirmpopup/index.js +106 -0
  51. package/dist/runtime/presets/lara/contextmenu/index.d.ts +72 -0
  52. package/dist/runtime/presets/lara/contextmenu/index.js +125 -0
  53. package/dist/runtime/presets/lara/datatable/index.d.ts +695 -0
  54. package/dist/runtime/presets/lara/datatable/index.js +1170 -0
  55. package/dist/runtime/presets/lara/dataview/index.d.ts +15 -0
  56. package/dist/runtime/presets/lara/dataview/index.js +40 -0
  57. package/dist/runtime/presets/lara/dataviewlayoutoptions/index.d.ts +13 -0
  58. package/dist/runtime/presets/lara/dataviewlayoutoptions/index.js +62 -0
  59. package/dist/runtime/presets/lara/deferred/index.d.ts +4 -0
  60. package/dist/runtime/presets/lara/deferred/index.js +3 -0
  61. package/dist/runtime/presets/lara/dialog/index.d.ts +79 -0
  62. package/dist/runtime/presets/lara/dialog/index.js +235 -0
  63. package/dist/runtime/presets/lara/divider/index.d.ts +192 -0
  64. package/dist/runtime/presets/lara/divider/index.js +67 -0
  65. package/dist/runtime/presets/lara/dock/index.d.ts +51 -0
  66. package/dist/runtime/presets/lara/dock/index.js +93 -0
  67. package/dist/runtime/presets/lara/dropdown/index.d.ts +207 -0
  68. package/dist/runtime/presets/lara/dropdown/index.js +265 -0
  69. package/dist/runtime/presets/lara/fieldset/index.d.ts +87 -0
  70. package/dist/runtime/presets/lara/fieldset/index.js +84 -0
  71. package/dist/runtime/presets/lara/fileupload/index.d.ts +70 -0
  72. package/dist/runtime/presets/lara/fileupload/index.js +173 -0
  73. package/dist/runtime/presets/lara/floatlabel/index.d.ts +7 -0
  74. package/dist/runtime/presets/lara/floatlabel/index.js +26 -0
  75. package/dist/runtime/presets/lara/galleria/index.d.ts +194 -0
  76. package/dist/runtime/presets/lara/galleria/index.js +306 -0
  77. package/dist/runtime/presets/lara/global.d.ts +4 -0
  78. package/dist/runtime/presets/lara/global.js +90 -0
  79. package/dist/runtime/presets/lara/iconfield/index.d.ts +18 -0
  80. package/dist/runtime/presets/lara/iconfield/index.js +22 -0
  81. package/dist/runtime/presets/lara/image/index.d.ts +65 -0
  82. package/dist/runtime/presets/lara/image/index.js +206 -0
  83. package/dist/runtime/presets/lara/index.d.ts +187 -0
  84. package/dist/runtime/presets/lara/index.js +207 -0
  85. package/dist/runtime/presets/lara/inlinemessage/index.d.ts +55 -0
  86. package/dist/runtime/presets/lara/inlinemessage/index.js +36 -0
  87. package/dist/runtime/presets/lara/inplace/index.d.ts +7 -0
  88. package/dist/runtime/presets/lara/inplace/index.js +27 -0
  89. package/dist/runtime/presets/lara/inputgroup/index.d.ts +7 -0
  90. package/dist/runtime/presets/lara/inputgroup/index.js +5 -0
  91. package/dist/runtime/presets/lara/inputgroupaddon/index.d.ts +7 -0
  92. package/dist/runtime/presets/lara/inputgroupaddon/index.js +28 -0
  93. package/dist/runtime/presets/lara/inputmask/index.d.ts +27 -0
  94. package/dist/runtime/presets/lara/inputmask/index.js +34 -0
  95. package/dist/runtime/presets/lara/inputnumber/index.d.ts +390 -0
  96. package/dist/runtime/presets/lara/inputnumber/index.js +164 -0
  97. package/dist/runtime/presets/lara/inputotp/index.d.ts +147 -0
  98. package/dist/runtime/presets/lara/inputotp/index.js +60 -0
  99. package/dist/runtime/presets/lara/inputswitch/index.d.ts +67 -0
  100. package/dist/runtime/presets/lara/inputswitch/index.js +80 -0
  101. package/dist/runtime/presets/lara/inputtext/index.d.ts +160 -0
  102. package/dist/runtime/presets/lara/inputtext/index.js +49 -0
  103. package/dist/runtime/presets/lara/knob/index.d.ts +22 -0
  104. package/dist/runtime/presets/lara/knob/index.js +44 -0
  105. package/dist/runtime/presets/lara/listbox/index.d.ts +93 -0
  106. package/dist/runtime/presets/lara/listbox/index.js +152 -0
  107. package/dist/runtime/presets/lara/megamenu/index.d.ts +105 -0
  108. package/dist/runtime/presets/lara/megamenu/index.js +199 -0
  109. package/dist/runtime/presets/lara/menu/index.d.ts +40 -0
  110. package/dist/runtime/presets/lara/menu/index.js +96 -0
  111. package/dist/runtime/presets/lara/menubar/index.d.ts +85 -0
  112. package/dist/runtime/presets/lara/menubar/index.js +176 -0
  113. package/dist/runtime/presets/lara/message/index.d.ts +70 -0
  114. package/dist/runtime/presets/lara/message/index.js +87 -0
  115. package/dist/runtime/presets/lara/metergroup/index.d.ts +92 -0
  116. package/dist/runtime/presets/lara/metergroup/index.js +97 -0
  117. package/dist/runtime/presets/lara/multiselect/index.d.ts +260 -0
  118. package/dist/runtime/presets/lara/multiselect/index.js +546 -0
  119. package/dist/runtime/presets/lara/orderlist/index.d.ts +99 -0
  120. package/dist/runtime/presets/lara/orderlist/index.js +257 -0
  121. package/dist/runtime/presets/lara/organizationchart/index.d.ts +81 -0
  122. package/dist/runtime/presets/lara/organizationchart/index.js +138 -0
  123. package/dist/runtime/presets/lara/overlaypanel/index.d.ts +17 -0
  124. package/dist/runtime/presets/lara/overlaypanel/index.js +40 -0
  125. package/dist/runtime/presets/lara/paginator/index.d.ts +280 -0
  126. package/dist/runtime/presets/lara/paginator/index.js +533 -0
  127. package/dist/runtime/presets/lara/panel/index.d.ts +39 -0
  128. package/dist/runtime/presets/lara/panel/index.js +91 -0
  129. package/dist/runtime/presets/lara/panelmenu/index.d.ts +76 -0
  130. package/dist/runtime/presets/lara/panelmenu/index.js +127 -0
  131. package/dist/runtime/presets/lara/password/index.d.ts +181 -0
  132. package/dist/runtime/presets/lara/password/index.js +118 -0
  133. package/dist/runtime/presets/lara/picklist/index.d.ts +245 -0
  134. package/dist/runtime/presets/lara/picklist/index.js +650 -0
  135. package/dist/runtime/presets/lara/progressbar/index.d.ts +44 -0
  136. package/dist/runtime/presets/lara/progressbar/index.js +55 -0
  137. package/dist/runtime/presets/lara/progressspinner/index.d.ts +15 -0
  138. package/dist/runtime/presets/lara/progressspinner/index.js +51 -0
  139. package/dist/runtime/presets/lara/radiobutton/index.d.ts +57 -0
  140. package/dist/runtime/presets/lara/radiobutton/index.js +104 -0
  141. package/dist/runtime/presets/lara/rating/index.d.ts +49 -0
  142. package/dist/runtime/presets/lara/rating/index.js +92 -0
  143. package/dist/runtime/presets/lara/ripple/index.d.ts +8 -0
  144. package/dist/runtime/presets/lara/ripple/index.js +6 -0
  145. package/dist/runtime/presets/lara/scrollpanel/index.d.ts +19 -0
  146. package/dist/runtime/presets/lara/scrollpanel/index.js +77 -0
  147. package/dist/runtime/presets/lara/scrolltop/index.d.ts +50 -0
  148. package/dist/runtime/presets/lara/scrolltop/index.js +41 -0
  149. package/dist/runtime/presets/lara/selectbutton/index.d.ts +56 -0
  150. package/dist/runtime/presets/lara/selectbutton/index.js +49 -0
  151. package/dist/runtime/presets/lara/sidebar/index.d.ts +66 -0
  152. package/dist/runtime/presets/lara/sidebar/index.js +149 -0
  153. package/dist/runtime/presets/lara/skeleton/index.d.ts +16 -0
  154. package/dist/runtime/presets/lara/skeleton/index.js +16 -0
  155. package/dist/runtime/presets/lara/slider/index.d.ts +55 -0
  156. package/dist/runtime/presets/lara/slider/index.js +137 -0
  157. package/dist/runtime/presets/lara/speeddial/index.d.ts +3091 -0
  158. package/dist/runtime/presets/lara/speeddial/index.js +283 -0
  159. package/dist/runtime/presets/lara/splitbutton/index.d.ts +6749 -0
  160. package/dist/runtime/presets/lara/splitbutton/index.js +502 -0
  161. package/dist/runtime/presets/lara/splitter/index.d.ts +30 -0
  162. package/dist/runtime/presets/lara/splitter/index.js +61 -0
  163. package/dist/runtime/presets/lara/splitterpanel/index.d.ts +10 -0
  164. package/dist/runtime/presets/lara/splitterpanel/index.js +5 -0
  165. package/dist/runtime/presets/lara/stepper/index.d.ts +66 -0
  166. package/dist/runtime/presets/lara/stepper/index.js +161 -0
  167. package/dist/runtime/presets/lara/steps/index.d.ts +57 -0
  168. package/dist/runtime/presets/lara/steps/index.js +111 -0
  169. package/dist/runtime/presets/lara/tabmenu/index.d.ts +43 -0
  170. package/dist/runtime/presets/lara/tabmenu/index.js +73 -0
  171. package/dist/runtime/presets/lara/tabview/index.d.ts +67 -0
  172. package/dist/runtime/presets/lara/tabview/index.js +156 -0
  173. package/dist/runtime/presets/lara/tag/index.d.ts +32 -0
  174. package/dist/runtime/presets/lara/tag/index.js +36 -0
  175. package/dist/runtime/presets/lara/terminal/index.d.ts +27 -0
  176. package/dist/runtime/presets/lara/terminal/index.js +60 -0
  177. package/dist/runtime/presets/lara/textarea/index.d.ts +27 -0
  178. package/dist/runtime/presets/lara/textarea/index.js +36 -0
  179. package/dist/runtime/presets/lara/tieredmenu/index.d.ts +56 -0
  180. package/dist/runtime/presets/lara/tieredmenu/index.js +120 -0
  181. package/dist/runtime/presets/lara/timeline/index.d.ts +84 -0
  182. package/dist/runtime/presets/lara/timeline/index.js +81 -0
  183. package/dist/runtime/presets/lara/toast/index.d.ts +92 -0
  184. package/dist/runtime/presets/lara/toast/index.js +102 -0
  185. package/dist/runtime/presets/lara/togglebutton/index.d.ts +72 -0
  186. package/dist/runtime/presets/lara/togglebutton/index.js +91 -0
  187. package/dist/runtime/presets/lara/toolbar/index.d.ts +19 -0
  188. package/dist/runtime/presets/lara/toolbar/index.js +28 -0
  189. package/dist/runtime/presets/lara/tooltip/index.d.ts +38 -0
  190. package/dist/runtime/presets/lara/tooltip/index.js +46 -0
  191. package/dist/runtime/presets/lara/tree/index.d.ts +105 -0
  192. package/dist/runtime/presets/lara/tree/index.js +258 -0
  193. package/dist/runtime/presets/lara/treeselect/index.d.ts +181 -0
  194. package/dist/runtime/presets/lara/treeselect/index.js +352 -0
  195. package/dist/runtime/presets/lara/treetable/index.d.ts +316 -0
  196. package/dist/runtime/presets/lara/treetable/index.js +434 -0
  197. package/dist/runtime/presets/lara/tristatecheckbox/index.d.ts +49 -0
  198. package/dist/runtime/presets/lara/tristatecheckbox/index.js +104 -0
  199. package/dist/runtime/styles/core.css +27 -0
  200. package/dist/runtime/tailwind/gluharTheme.d.ts +3 -0
  201. package/dist/runtime/tailwind/gluharTheme.js +52 -0
  202. package/dist/runtime/tailwind/handleTailwind.d.ts +3 -0
  203. package/dist/runtime/tailwind/handleTailwind.js +22 -0
  204. package/dist/types.d.mts +7 -0
  205. package/dist/types.d.ts +7 -0
  206. package/package.json +56 -0
@@ -0,0 +1,502 @@
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
+
18
+ // Alignments
19
+ 'items-center inline-flex text-center align-bottom justify-center',
20
+
21
+ // Sizes & Spacing
22
+ 'leading-[normal]',
23
+ {
24
+ 'px-4 py-3': parent.props.size === null,
25
+ 'text-sm py-2 px-3': parent.props.size === 'small',
26
+ 'text-xl py-3 px-4': parent.props.size === 'large'
27
+ },
28
+ {
29
+ 'min-w-12 p-0 py-3': parent.props.label == null && parent.props.icon !== null
30
+ },
31
+
32
+ // Shape
33
+ 'rounded-r-none',
34
+ 'border-r-0',
35
+ { 'rounded-l-full': parent.props.rounded },
36
+ { 'rounded-md': !parent.props.rounded, 'rounded-full': parent.props.rounded },
37
+
38
+ // Link Button
39
+ { 'text-primary-600 bg-transparent border-transparent': parent.props.link },
40
+
41
+ // Plain Button
42
+ { 'text-white bg-gray-500 border border-gray-500': parent.props.plain && !parent.props.outlined && !parent.props.text },
43
+ // Plain Text Button
44
+ { 'text-surface-500': parent.props.plain && parent.props.text },
45
+ // Plain Outlined Button
46
+ { 'text-surface-500 border border-gray-500': parent.props.plain && parent.props.outlined },
47
+
48
+ // Text Button
49
+ { 'bg-transparent border-transparent': parent.props.text && !parent.props.plain },
50
+
51
+ // Outlined Button
52
+ { 'bg-transparent border': parent.props.outlined && !parent.props.plain },
53
+
54
+ // --- Severity Buttons ---
55
+
56
+ // Primary Button
57
+ {
58
+ 'text-white dark:text-surface-900': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain,
59
+ 'bg-primary-500 dark:bg-primary-400': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain,
60
+ 'border border-primary-500 dark:border-primary-400': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain
61
+ },
62
+ // Primary Text Button
63
+ { 'text-primary-500 dark:text-primary-400': parent.props.text && parent.props.severity === null && !parent.props.plain },
64
+ // Primary Outlined Button
65
+ { 'text-primary-500 border border-primary-500 hover:bg-primary-300/20': parent.props.outlined && parent.props.severity === null && !parent.props.plain },
66
+
67
+ // Secondary Button
68
+ {
69
+ 'text-white dark:text-surface-900': parent.props.severity === 'secondary' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
70
+ 'bg-surface-500 dark:bg-surface-400': parent.props.severity === 'secondary' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
71
+ 'border border-surface-500 dark:border-surface-400': parent.props.severity === 'secondary' && !parent.props.text && !parent.props.outlined && !parent.props.plain
72
+ },
73
+ // Secondary Text Button
74
+ { 'text-surface-500 dark:text-surface-400': parent.props.text && parent.props.severity === 'secondary' && !parent.props.plain },
75
+ // Secondary Outlined Button
76
+ { 'text-surface-500 border border-surface-500 hover:bg-surface-300/20': parent.props.outlined && parent.props.severity === 'secondary' && !parent.props.plain },
77
+
78
+ // Success Button
79
+ {
80
+ 'text-white dark:text-surface-900': parent.props.severity === 'success' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
81
+ 'bg-green-500 dark:bg-green-400': parent.props.severity === 'success' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
82
+ 'border border-green-500 dark:border-green-400': parent.props.severity === 'success' && !parent.props.text && !parent.props.outlined && !parent.props.plain
83
+ },
84
+ // Success Text Button
85
+ { 'text-surface-500 dark:text-surface-400': parent.props.text && parent.props.severity === 'secondary' && !parent.props.plain },
86
+ // Success Outlined Button
87
+ { 'text-green-500 border border-green-500 hover:bg-green-300/20': parent.props.outlined && parent.props.severity === 'success' && !parent.props.plain },
88
+
89
+ // Info Button
90
+ {
91
+ 'text-white dark:text-surface-900': parent.props.severity === 'info' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
92
+ 'bg-blue-500 dark:bg-blue-400': parent.props.severity === 'info' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
93
+ 'border border-blue-500 dark:border-blue-400': parent.props.severity === 'info' && !parent.props.text && !parent.props.outlined && !parent.props.plain
94
+ },
95
+ // Info Text Button
96
+ { 'text-blue-500 dark:text-blue-400': parent.props.text && parent.props.severity === 'info' && !parent.props.plain },
97
+ // Info Outlined Button
98
+ { 'text-blue-500 border border-blue-500 hover:bg-blue-300/20 ': parent.props.outlined && parent.props.severity === 'info' && !parent.props.plain },
99
+
100
+ // Warning Button
101
+ {
102
+ 'text-white dark:text-surface-900': parent.props.severity === 'warning' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
103
+ 'bg-orange-500 dark:bg-orange-400': parent.props.severity === 'warning' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
104
+ 'border border-orange-500 dark:border-orange-400': parent.props.severity === 'warning' && !parent.props.text && !parent.props.outlined && !parent.props.plain
105
+ },
106
+ // Warning Text Button
107
+ { 'text-orange-500 dark:text-orange-400': parent.props.text && parent.props.severity === 'warning' && !parent.props.plain },
108
+ // Warning Outlined Button
109
+ { 'text-orange-500 border border-orange-500 hover:bg-orange-300/20': parent.props.outlined && parent.props.severity === 'warning' && !parent.props.plain },
110
+
111
+ // Help Button
112
+ {
113
+ 'text-white dark:text-surface-900': parent.props.severity === 'help' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
114
+ 'bg-purple-500 dark:bg-purple-400': parent.props.severity === 'help' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
115
+ 'border border-purple-500 dark:border-purple-400': parent.props.severity === 'help' && !parent.props.text && !parent.props.outlined && !parent.props.plain
116
+ },
117
+ // Help Text Button
118
+ { 'text-purple-500 dark:text-purple-400': parent.props.text && parent.props.severity === 'help' && !parent.props.plain },
119
+ // Help Outlined Button
120
+ { 'text-purple-500 border border-purple-500 hover:bg-purple-300/20': parent.props.outlined && parent.props.severity === 'help' && !parent.props.plain },
121
+
122
+ // Danger Button
123
+ {
124
+ 'text-white dark:text-surface-900': parent.props.severity === 'danger' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
125
+ 'bg-red-500 dark:bg-red-400': parent.props.severity === 'danger' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
126
+ 'border border-red-500 dark:border-red-400': parent.props.severity === 'danger' && !parent.props.text && !parent.props.outlined && !parent.props.plain
127
+ },
128
+ // Danger Text Button
129
+ { 'text-red-500 dark:text-red-400': parent.props.text && parent.props.severity === 'danger' && !parent.props.plain },
130
+ // Danger Outlined Button
131
+ { 'text-red-500 border border-red-500 hover:bg-red-300/20': parent.props.outlined && parent.props.severity === 'danger' && !parent.props.plain },
132
+
133
+ // --- Severity Button States ---
134
+ 'focus:outline-none focus:outline-offset-0 focus:ring',
135
+
136
+ // Link
137
+ { 'focus:ring-primary-400/50 dark:focus:ring-primary-300/50': parent.props.link },
138
+
139
+ // Plain
140
+ { 'hover:bg-gray-600 hover:border-gray-600': parent.props.plain && !parent.props.outlined && !parent.props.text },
141
+ // Text & Outlined Button
142
+ { 'hover:bg-surface-300/20': parent.props.plain && (parent.props.text || parent.props.outlined) },
143
+
144
+ // Primary
145
+ { 'hover:bg-primary-600 dark:hover:bg-primary-300 hover:border-primary-600 dark:hover:border-primary-300': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain },
146
+ { 'focus:ring-primary-400/50 dark:focus:ring-primary-300/50': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain },
147
+ // Text & Outlined Button
148
+ { 'hover:bg-primary-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === null && !parent.props.plain },
149
+
150
+ // Secondary
151
+ { 'hover:bg-surface-600 dark:hover:bg-surface-300 hover:border-surface-600 dark:hover:border-surface-300': parent.props.severity === 'secondary' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
152
+ { 'focus:ring-surface-400/50 dark:focus:ring-surface-300/50': parent.props.severity === 'secondary' },
153
+ // Text & Outlined Button
154
+ { 'hover:bg-surface-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'secondary' && !parent.props.plain },
155
+
156
+ // Success
157
+ { 'hover:bg-green-600 dark:hover:bg-green-300 hover:border-green-600 dark:hover:border-green-300': parent.props.severity === 'success' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
158
+ { 'focus:ring-green-400/50 dark:focus:ring-green-300/50': parent.props.severity === 'success' },
159
+ // Text & Outlined Button
160
+ { 'hover:bg-green-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'success' && !parent.props.plain },
161
+
162
+ // Info
163
+ { 'hover:bg-blue-600 dark:hover:bg-blue-300 hover:border-blue-600 dark:hover:border-blue-300': parent.props.severity === 'info' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
164
+ { 'focus:ring-blue-400/50 dark:focus:ring-blue-300/50': parent.props.severity === 'info' },
165
+ // Text & Outlined Button
166
+ { 'hover:bg-blue-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'info' && !parent.props.plain },
167
+
168
+ // Warning
169
+ { 'hover:bg-orange-600 dark:hover:bg-orange-300 hover:border-orange-600 dark:hover:border-orange-300': parent.props.severity === 'warning' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
170
+ { 'focus:ring-orange-400/50 dark:focus:ring-orange-300/50': parent.props.severity === 'warning' },
171
+ // Text & Outlined Button
172
+ { 'hover:bg-orange-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'warning' && !parent.props.plain },
173
+
174
+ // Help
175
+ { 'hover:bg-purple-600 dark:hover:bg-purple-300 hover:border-purple-600 dark:hover:border-purple-300': parent.props.severity === 'help' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
176
+ { 'focus:ring-purple-400/50 dark:focus:ring-purple-300/50': parent.props.severity === 'help' },
177
+ // Text & Outlined Button
178
+ { 'hover:bg-purple-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'help' && !parent.props.plain },
179
+
180
+ // Warning
181
+ { 'hover:bg-red-600 dark:hover:bg-red-300 hover:border-red-600 dark:hover:border-red-300': parent.props.severity === 'danger' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
182
+ { 'focus:ring-red-400/50 dark:focus:ring-red-300/50': parent.props.severity === 'danger' },
183
+ // Text & Outlined Button
184
+ { 'hover:bg-red-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'danger' && !parent.props.plain },
185
+
186
+ // Transitions
187
+ 'transition duration-200 ease-in-out',
188
+
189
+ // Misc
190
+ 'cursor-pointer overflow-hidden select-none'
191
+ ]
192
+ }),
193
+ icon: {
194
+ class: [
195
+ // Margins
196
+ 'mr-2'
197
+ ]
198
+ }
199
+ },
200
+ menubutton: {
201
+ root: ({ parent }) => ({
202
+ class: [
203
+ 'relative',
204
+ // Alignments
205
+ 'items-center inline-flex text-center align-bottom justify-center',
206
+
207
+ // Sizes & Spacing
208
+ 'leading-[normal]',
209
+ {
210
+ 'px-4 py-3': parent.props.size === null,
211
+ 'text-sm py-2 px-3': parent.props.size === 'small',
212
+ 'text-xl py-3 px-4': parent.props.size === 'large'
213
+ },
214
+ {
215
+ 'min-w-12 p-0 py-3': parent.props.label == null && parent.props.icon !== null
216
+ },
217
+
218
+ // Shape
219
+ 'rounded-l-none',
220
+ { 'rounded-l-full': parent.props.rounded },
221
+ { 'rounded-md': !parent.props.rounded, 'rounded-full': parent.props.rounded },
222
+
223
+ // Link Button
224
+ { 'text-primary-600 bg-transparent border-transparent': parent.props.link },
225
+
226
+ // Plain Button
227
+ { 'text-white bg-gray-500 border border-gray-500': parent.props.plain && !parent.props.outlined && !parent.props.text },
228
+ // Plain Text Button
229
+ { 'text-surface-500': parent.props.plain && parent.props.text },
230
+ // Plain Outlined Button
231
+ { 'text-surface-500 border border-gray-500': parent.props.plain && parent.props.outlined },
232
+
233
+ // Text Button
234
+ { 'bg-transparent border-transparent': parent.props.text && !parent.props.plain },
235
+
236
+ // Outlined Button
237
+ { 'bg-transparent border': parent.props.outlined && !parent.props.plain },
238
+
239
+ // --- Severity Buttons ---
240
+
241
+ // Primary Button
242
+ {
243
+ 'text-white dark:text-surface-900': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain,
244
+ 'bg-primary-500 dark:bg-primary-400': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain,
245
+ 'border border-primary-500 dark:border-primary-400': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain
246
+ },
247
+ // Primary Text Button
248
+ { 'text-primary-500 dark:text-primary-400': parent.props.text && parent.props.severity === null && !parent.props.plain },
249
+ // Primary Outlined Button
250
+ { 'text-primary-500 border border-primary-500 hover:bg-primary-300/20': parent.props.outlined && parent.props.severity === null && !parent.props.plain },
251
+
252
+ // Secondary Button
253
+ {
254
+ 'text-white dark:text-surface-900': parent.props.severity === 'secondary' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
255
+ 'bg-surface-500 dark:bg-surface-400': parent.props.severity === 'secondary' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
256
+ 'border border-surface-500 dark:border-surface-400': parent.props.severity === 'secondary' && !parent.props.text && !parent.props.outlined && !parent.props.plain
257
+ },
258
+ // Secondary Text Button
259
+ { 'text-surface-500 dark:text-surface-400': parent.props.text && parent.props.severity === 'secondary' && !parent.props.plain },
260
+ // Secondary Outlined Button
261
+ { 'text-surface-500 border border-surface-500 hover:bg-surface-300/20': parent.props.outlined && parent.props.severity === 'secondary' && !parent.props.plain },
262
+
263
+ // Success Button
264
+ {
265
+ 'text-white dark:text-surface-900': parent.props.severity === 'success' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
266
+ 'bg-green-500 dark:bg-green-400': parent.props.severity === 'success' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
267
+ 'border border-green-500 dark:border-green-400': parent.props.severity === 'success' && !parent.props.text && !parent.props.outlined && !parent.props.plain
268
+ },
269
+ // Success Text Button
270
+ { 'text-surface-500 dark:text-surface-400': parent.props.text && parent.props.severity === 'secondary' && !parent.props.plain },
271
+ // Success Outlined Button
272
+ { 'text-green-500 border border-green-500 hover:bg-green-300/20': parent.props.outlined && parent.props.severity === 'success' && !parent.props.plain },
273
+
274
+ // Info Button
275
+ {
276
+ 'text-white dark:text-surface-900': parent.props.severity === 'info' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
277
+ 'bg-blue-500 dark:bg-blue-400': parent.props.severity === 'info' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
278
+ 'border border-blue-500 dark:border-blue-400': parent.props.severity === 'info' && !parent.props.text && !parent.props.outlined && !parent.props.plain
279
+ },
280
+ // Info Text Button
281
+ { 'text-blue-500 dark:text-blue-400': parent.props.text && parent.props.severity === 'info' && !parent.props.plain },
282
+ // Info Outlined Button
283
+ { 'text-blue-500 border border-blue-500 hover:bg-blue-300/20 ': parent.props.outlined && parent.props.severity === 'info' && !parent.props.plain },
284
+
285
+ // Warning Button
286
+ {
287
+ 'text-white dark:text-surface-900': parent.props.severity === 'warning' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
288
+ 'bg-orange-500 dark:bg-orange-400': parent.props.severity === 'warning' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
289
+ 'border border-orange-500 dark:border-orange-400': parent.props.severity === 'warning' && !parent.props.text && !parent.props.outlined && !parent.props.plain
290
+ },
291
+ // Warning Text Button
292
+ { 'text-orange-500 dark:text-orange-400': parent.props.text && parent.props.severity === 'warning' && !parent.props.plain },
293
+ // Warning Outlined Button
294
+ { 'text-orange-500 border border-orange-500 hover:bg-orange-300/20': parent.props.outlined && parent.props.severity === 'warning' && !parent.props.plain },
295
+
296
+ // Help Button
297
+ {
298
+ 'text-white dark:text-surface-900': parent.props.severity === 'help' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
299
+ 'bg-purple-500 dark:bg-purple-400': parent.props.severity === 'help' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
300
+ 'border border-purple-500 dark:border-purple-400': parent.props.severity === 'help' && !parent.props.text && !parent.props.outlined && !parent.props.plain
301
+ },
302
+ // Help Text Button
303
+ { 'text-purple-500 dark:text-purple-400': parent.props.text && parent.props.severity === 'help' && !parent.props.plain },
304
+ // Help Outlined Button
305
+ { 'text-purple-500 border border-purple-500 hover:bg-purple-300/20': parent.props.outlined && parent.props.severity === 'help' && !parent.props.plain },
306
+
307
+ // Danger Button
308
+ {
309
+ 'text-white dark:text-surface-900': parent.props.severity === 'danger' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
310
+ 'bg-red-500 dark:bg-red-400': parent.props.severity === 'danger' && !parent.props.text && !parent.props.outlined && !parent.props.plain,
311
+ 'border border-red-500 dark:border-red-400': parent.props.severity === 'danger' && !parent.props.text && !parent.props.outlined && !parent.props.plain
312
+ },
313
+ // Danger Text Button
314
+ { 'text-red-500 dark:text-red-400': parent.props.text && parent.props.severity === 'danger' && !parent.props.plain },
315
+ // Danger Outlined Button
316
+ { 'text-red-500 border border-red-500 hover:bg-red-300/20': parent.props.outlined && parent.props.severity === 'danger' && !parent.props.plain },
317
+
318
+ // --- Severity Button States ---
319
+ 'focus:outline-none focus:outline-offset-0 focus:ring',
320
+
321
+ // Link
322
+ { 'focus:ring-primary-400/50 dark:focus:ring-primary-300/50': parent.props.link },
323
+
324
+ // Plain
325
+ { 'hover:bg-gray-600 hover:border-gray-600': parent.props.plain && !parent.props.outlined && !parent.props.text },
326
+ // Text & Outlined Button
327
+ { 'hover:bg-surface-300/20': parent.props.plain && (parent.props.text || parent.props.outlined) },
328
+
329
+ // Primary
330
+ { 'hover:bg-primary-600 dark:hover:bg-primary-300 hover:border-primary-600 dark:hover:border-primary-300': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain },
331
+ { 'focus:ring-primary-400/50 dark:focus:ring-primary-300/50': !parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain },
332
+ // Text & Outlined Button
333
+ { 'hover:bg-primary-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === null && !parent.props.plain },
334
+
335
+ // Secondary
336
+ { 'hover:bg-surface-600 dark:hover:bg-surface-300 hover:border-surface-600 dark:hover:border-surface-300': parent.props.severity === 'secondary' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
337
+ { 'focus:ring-surface-400/50 dark:focus:ring-surface-300/50': parent.props.severity === 'secondary' },
338
+ // Text & Outlined Button
339
+ { 'hover:bg-surface-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'secondary' && !parent.props.plain },
340
+
341
+ // Success
342
+ { 'hover:bg-green-600 dark:hover:bg-green-300 hover:border-green-600 dark:hover:border-green-300': parent.props.severity === 'success' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
343
+ { 'focus:ring-green-400/50 dark:focus:ring-green-300/50': parent.props.severity === 'success' },
344
+ // Text & Outlined Button
345
+ { 'hover:bg-green-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'success' && !parent.props.plain },
346
+
347
+ // Info
348
+ { 'hover:bg-blue-600 dark:hover:bg-blue-300 hover:border-blue-600 dark:hover:border-blue-300': parent.props.severity === 'info' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
349
+ { 'focus:ring-blue-400/50 dark:focus:ring-blue-300/50': parent.props.severity === 'info' },
350
+ // Text & Outlined Button
351
+ { 'hover:bg-blue-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'info' && !parent.props.plain },
352
+
353
+ // Warning
354
+ { 'hover:bg-orange-600 dark:hover:bg-orange-300 hover:border-orange-600 dark:hover:border-orange-300': parent.props.severity === 'warning' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
355
+ { 'focus:ring-orange-400/50 dark:focus:ring-orange-300/50': parent.props.severity === 'warning' },
356
+ // Text & Outlined Button
357
+ { 'hover:bg-orange-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'warning' && !parent.props.plain },
358
+
359
+ // Help
360
+ { 'hover:bg-purple-600 dark:hover:bg-purple-300 hover:border-purple-600 dark:hover:border-purple-300': parent.props.severity === 'help' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
361
+ { 'focus:ring-purple-400/50 dark:focus:ring-purple-300/50': parent.props.severity === 'help' },
362
+ // Text & Outlined Button
363
+ { 'hover:bg-purple-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'help' && !parent.props.plain },
364
+
365
+ // Warning
366
+ { 'hover:bg-red-600 dark:hover:bg-red-300 hover:border-red-600 dark:hover:border-red-300': parent.props.severity === 'danger' && !parent.props.text && !parent.props.outlined && !parent.props.plain },
367
+ { 'focus:ring-red-400/50 dark:focus:ring-red-300/50': parent.props.severity === 'danger' },
368
+ // Text & Outlined Button
369
+ { 'hover:bg-red-300/20': (parent.props.text || parent.props.outlined) && parent.props.severity === 'danger' && !parent.props.plain },
370
+
371
+ // Transitions
372
+ 'transition duration-200 ease-in-out',
373
+
374
+ // Misc
375
+ 'cursor-pointer overflow-hidden select-none'
376
+ ]
377
+ }),
378
+ label: {
379
+ class: ['hidden']
380
+ }
381
+ },
382
+ menu: {
383
+ root: {
384
+ class: [
385
+ // Shape
386
+ 'rounded-md',
387
+
388
+ // Size
389
+ 'min-w-[12rem]',
390
+ 'py-1',
391
+
392
+ // Colors
393
+ 'bg-surface-0 dark:bg-surface-700',
394
+ 'border border-surface-200 dark:border-surface-700'
395
+ ]
396
+ },
397
+ menu: {
398
+ class: [
399
+ // Spacings and Shape
400
+ 'list-none',
401
+ 'm-0',
402
+ 'p-0',
403
+ 'outline-none'
404
+ ]
405
+ },
406
+ menuitem: {
407
+ class: [
408
+ // Position
409
+ 'relative'
410
+ ]
411
+ },
412
+ content: ({ context }) => ({
413
+ class: [
414
+ //Shape
415
+ 'rounded-none',
416
+
417
+ // Colors
418
+ {
419
+ 'text-surface-500 dark:text-white/70': !context.focused && !context.active,
420
+ 'text-surface-500 dark:text-white/70 bg-surface-200 dark:bg-surface-600/90': context.focused && !context.active,
421
+ 'text-primary-700 dark:text-surface-0/80 bg-primary-50 dark:bg-primary-400/30': context.focused && context.active,
422
+ 'text-primary-700 dark:text-surface-0/80 bg-primary-50 dark:bg-primary-400/30': !context.focused && context.active
423
+ },
424
+
425
+ // Hover States
426
+ {
427
+ 'hover:bg-surface-100 dark:hover:bg-surface-600/80': !context.active,
428
+ 'hover:bg-primary-500/50 dark:hover:bg-primary-300/30 text-primary-700 dark:text-surface-0/80': context.active
429
+ },
430
+
431
+ // Transitions
432
+ 'transition-shadow',
433
+ 'duration-200'
434
+ ]
435
+ }),
436
+ action: {
437
+ class: [
438
+ 'relative',
439
+ // Flexbox
440
+
441
+ 'flex',
442
+ 'items-center',
443
+
444
+ // Spacing
445
+ 'py-3',
446
+ 'px-5',
447
+
448
+ // Color
449
+ 'text-surface-700 dark:text-white/80',
450
+
451
+ // Misc
452
+ 'no-underline',
453
+ 'overflow-hidden',
454
+ 'cursor-pointer',
455
+ 'select-none'
456
+ ]
457
+ },
458
+ icon: {
459
+ class: [
460
+ // Spacing
461
+ 'mr-2',
462
+
463
+ // Color
464
+ 'text-surface-600 dark:text-white/70'
465
+ ]
466
+ },
467
+ label: {
468
+ class: ['leading-none']
469
+ },
470
+ submenuicon: {
471
+ class: [
472
+ // Position
473
+ 'ml-auto'
474
+ ]
475
+ },
476
+ submenu: {
477
+ class: [
478
+ // Size
479
+ 'w-full sm:w-48',
480
+
481
+ // Spacing
482
+ 'py-1',
483
+ 'm-0',
484
+ 'list-none',
485
+
486
+ // Shape
487
+ 'shadow-none sm:shadow-md',
488
+ 'border-0',
489
+
490
+ // Position
491
+ 'static sm:absolute',
492
+ 'z-10',
493
+
494
+ // Color
495
+ 'bg-surface-0 dark:bg-surface-700'
496
+ ]
497
+ },
498
+ separator: {
499
+ class: 'border-t border-surface-200 dark:border-surface-600 my-1'
500
+ }
501
+ }
502
+ };
@@ -0,0 +1,30 @@
1
+ declare namespace _default {
2
+ function root({ context }: {
3
+ context: any;
4
+ }): {
5
+ class: (string | {
6
+ 'border border-solid border-surface-50 dark:border-surface-700': boolean;
7
+ 'flex grow border-0'?: undefined;
8
+ } | {
9
+ 'flex grow border-0': any;
10
+ 'border border-solid border-surface-50 dark:border-surface-700'?: undefined;
11
+ })[];
12
+ };
13
+ function gutter({ props }: {
14
+ props: any;
15
+ }): {
16
+ class: (string | {
17
+ 'cursor-col-resize': boolean;
18
+ 'cursor-row-resize': boolean;
19
+ })[];
20
+ };
21
+ function gutterhandler({ props }: {
22
+ props: any;
23
+ }): {
24
+ class: (string | {
25
+ 'h-7': boolean;
26
+ 'w-7 h-2': boolean;
27
+ })[];
28
+ };
29
+ }
30
+ export default _default;
@@ -0,0 +1,61 @@
1
+ export default {
2
+ root: ({ context }) => ({
3
+ class: [
4
+ // Colors
5
+ 'bg-surface-0',
6
+ 'dark:bg-surface-900',
7
+ 'text-surface-700',
8
+ 'dark:text-surface-0/80',
9
+
10
+ // Shape
11
+ 'rounded-lg',
12
+
13
+ // Borders (Conditional)
14
+ { 'border border-solid border-surface-50 dark:border-surface-700': !context.nested },
15
+
16
+ // Nested
17
+ { 'flex grow border-0': context.nested }
18
+ ]
19
+ }),
20
+
21
+ gutter: ({ props }) => ({
22
+ class: [
23
+ // Flexbox
24
+ 'flex',
25
+ 'items-center',
26
+ 'justify-center',
27
+ 'shrink-0',
28
+
29
+ // Colors
30
+ 'bg-surface-50',
31
+ 'dark:bg-surface-800',
32
+
33
+ // Transitions
34
+ 'transition-all',
35
+ 'duration-200',
36
+
37
+ // Misc
38
+ {
39
+ 'cursor-col-resize': props.layout == 'horizontal',
40
+ 'cursor-row-resize': props.layout !== 'horizontal'
41
+ }
42
+ ]
43
+ }),
44
+ gutterhandler: ({ props }) => ({
45
+ class: [
46
+ // Colors
47
+ 'bg-surface-100',
48
+ 'dark:bg-surface-600',
49
+
50
+ // Transitions
51
+ 'transition-all',
52
+ 'duration-200',
53
+
54
+ // Sizing (Conditional)
55
+ {
56
+ 'h-7': props.layout == 'horizontal',
57
+ 'w-7 h-2': props.layout !== 'horizontal'
58
+ }
59
+ ]
60
+ })
61
+ };
@@ -0,0 +1,10 @@
1
+ declare namespace _default {
2
+ function root({ context }: {
3
+ context: any;
4
+ }): {
5
+ class: (string | {
6
+ flex: any;
7
+ })[];
8
+ };
9
+ }
10
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export default {
2
+ root: ({ context }) => ({
3
+ class: ['grow', { flex: context.nested }]
4
+ })
5
+ };