@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,434 @@
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ 'relative',
5
+ {
6
+ 'flex flex-col h-full': props.scrollHeight === 'flex'
7
+ }
8
+ ]
9
+ }),
10
+ loadingoverlay: {
11
+ class: [
12
+ // Position
13
+ 'absolute',
14
+ 'top-0 left-0',
15
+ 'z-20',
16
+
17
+ // Flex & Alignment
18
+ 'flex items-center justify-center',
19
+
20
+ // Size
21
+ 'w-full h-full',
22
+
23
+ // Color
24
+ 'bg-surface-100/40 dark:bg-surface-800/40',
25
+
26
+ // Transition
27
+ 'transition duration-200'
28
+ ]
29
+ },
30
+ loadingicon: {
31
+ class: 'w-8 h-8 animate-spin'
32
+ },
33
+ wrapper: ({ props }) => ({
34
+ class: [
35
+ // Overflow
36
+ {
37
+ 'relative overflow-auto': props.scrollable,
38
+ 'overflow-x-auto': props.resizableColumns
39
+ }
40
+ ]
41
+ }),
42
+ header: ({ props }) => ({
43
+ class: [
44
+ 'font-bold',
45
+
46
+ // Shape
47
+ props.showGridlines ? 'border-x border-t border-b-0' : 'border-y border-x-0',
48
+
49
+ // Spacing
50
+ 'p-4',
51
+
52
+ // Color
53
+ 'bg-surface-50 dark:bg-surface-800',
54
+ 'border-surface-200 dark:border-surface-700',
55
+ 'text-surface-700 dark:text-white/80'
56
+ ]
57
+ }),
58
+ footer: {
59
+ class: [
60
+ // Background, Border & Text
61
+ 'bg-slate-50 text-slate-700',
62
+ 'border border-x-0 border-t-0 border-surface-50',
63
+ // Padding & Font
64
+ 'p-4 font-bold',
65
+ // Dark Mode
66
+ 'dark:bg-surface-900 dark:text-white/70 dark:border-surface-700'
67
+ ]
68
+ },
69
+ table: {
70
+ class: [
71
+ // Table & Width
72
+ 'border-collapse table-fixed w-full '
73
+ ]
74
+ },
75
+ thead: ({ props }) => ({
76
+ class: [
77
+ // Position & Z-index
78
+ {
79
+ 'top-0 z-40 sticky': props.scrollable
80
+ }
81
+ ]
82
+ }),
83
+ tbody: ({ props }) => ({
84
+ class: [
85
+ // Block Display
86
+ {
87
+ block: props.scrollable
88
+ }
89
+ ]
90
+ }),
91
+ tfoot: ({ props }) => ({
92
+ class: [
93
+ // Block Display
94
+ {
95
+ block: props.scrollable
96
+ }
97
+ ]
98
+ }),
99
+ headerrow: ({ props }) => ({
100
+ class: [
101
+ // Flexbox & Width
102
+ {
103
+ 'flex flex-nowrap w-full': props.scrollable
104
+ }
105
+ ]
106
+ }),
107
+ row: ({ context, props }) => ({
108
+ class: [
109
+ // Flex
110
+ { 'flex flex-nowrap w-full': context.scrollable },
111
+
112
+ // Color
113
+ 'dark:text-white/80',
114
+ { 'bg-primary-50 text-primary-700 dark:bg-primary-400/30': context.selected },
115
+ { 'bg-surface-0 text-surface-600 dark:bg-surface-800': !context.selected },
116
+
117
+ // Hover & Flexbox
118
+ {
119
+ 'hover:bg-surface-300/20 hover:text-surface-600': context.selectable && !context.selected
120
+ },
121
+ 'focus:outline-none focus:outline-offset-0 focus:ring focus:ring-primary-400/50 ring-inset dark:focus:ring-primary-300/50',
122
+
123
+ // Transition
124
+ { 'transition duration-200': (props.selectionMode && !context.selected) || props.rowHover }
125
+ ]
126
+ }),
127
+ headercell: ({ context, props }) => ({
128
+ class: [
129
+ 'font-bold',
130
+
131
+ // Position
132
+ { 'sticky z-40': context.scrollable && context.scrollDirection === 'both' && context.frozen },
133
+
134
+ // Flex & Alignment
135
+ {
136
+ 'flex flex-1 items-center': context.scrollable,
137
+ 'flex-initial shrink-0': context.scrollable && context.scrollDirection === 'both' && !context.frozen
138
+ },
139
+ 'text-left',
140
+
141
+ // Shape
142
+ { 'first:border-l border-y border-r': context?.showGridlines },
143
+ 'border-0 border-b border-solid',
144
+
145
+ // Spacing
146
+ context?.size === 'small' ? 'p-2' : context?.size === 'large' ? 'p-5' : 'p-4',
147
+
148
+ // Color
149
+ (props.sortable === '' || props.sortable) && context.sorted ? 'bg-primary-50 text-primary-700' : 'bg-surface-50 text-surface-700',
150
+ (props.sortable === '' || props.sortable) && context.sorted ? 'dark:text-white dark:bg-primary-400/30' : 'dark:text-white/80 dark:bg-surface-800',
151
+ 'border-surface-200 dark:border-surface-700',
152
+
153
+ // States
154
+ { 'hover:bg-surface-100 dark:hover:bg-surface-400/30': (props.sortable === '' || props.sortable) && !context?.sorted },
155
+ 'focus-visible:outline-none focus-visible:outline-offset-0 focus-visible:ring focus-visible:ring-inset focus-visible:ring-primary-400/50 dark:focus-visible:ring-primary-300/50',
156
+
157
+ // Transition
158
+ { 'transition duration-200': props.sortable === '' || props.sortable },
159
+
160
+ // Misc
161
+ {
162
+ 'overflow-hidden relative bg-clip-padding': context.resizable && !context.frozen
163
+ }
164
+ ]
165
+ }),
166
+ column: {
167
+ headercell: ({ context, props }) => ({
168
+ class: [
169
+ 'font-bold',
170
+
171
+ // Position
172
+ { 'sticky z-40': context.scrollable && context.scrollDirection === 'both' && context.frozen },
173
+
174
+ // Flex & Alignment
175
+ {
176
+ 'flex flex-1 items-center': context.scrollable,
177
+ 'flex-initial shrink-0': context.scrollable && context.scrollDirection === 'both' && !context.frozen
178
+ },
179
+ 'text-left',
180
+
181
+ // Shape
182
+ { 'first:border-l border-y border-r': context?.showGridlines },
183
+ 'border-0 border-b border-solid',
184
+
185
+ // Spacing
186
+ context?.size === 'small' ? 'p-2' : context?.size === 'large' ? 'p-5' : 'p-4',
187
+
188
+ // Color
189
+ (props.sortable === '' || props.sortable) && context.sorted ? 'bg-primary-50 text-primary-700' : 'bg-surface-50 text-surface-700',
190
+ (props.sortable === '' || props.sortable) && context.sorted ? 'dark:text-white dark:bg-primary-400/30' : 'dark:text-white/80 dark:bg-surface-800',
191
+ 'border-surface-200 dark:border-surface-700',
192
+
193
+ // States
194
+ { 'hover:bg-surface-100 dark:hover:bg-surface-400/30': (props.sortable === '' || props.sortable) && !context?.sorted },
195
+ 'focus-visible:outline-none focus-visible:outline-offset-0 focus-visible:ring focus-visible:ring-inset focus-visible:ring-primary-400/50 dark:focus-visible:ring-primary-300/50',
196
+
197
+ // Transition
198
+ { 'transition duration-200': props.sortable === '' || props.sortable },
199
+
200
+ // Misc
201
+ {
202
+ 'overflow-hidden relative bg-clip-padding': context.resizable && !context.frozen
203
+ }
204
+ ]
205
+ }),
206
+ bodycell: ({ context }) => ({
207
+ class: [
208
+ // Position
209
+ {
210
+ sticky: context.scrollable && context.scrollDirection === 'both' && context.frozen
211
+ },
212
+
213
+ // Flex & Alignment
214
+ {
215
+ 'flex flex-1 items-center': context.scrollable,
216
+ 'flex-initial shrink-0': context.scrollable && context.scrollDirection === 'both' && !context.frozen
217
+ },
218
+ 'text-left',
219
+
220
+ // Shape
221
+ 'border-0 border-b border-solid',
222
+ 'border-surface-200 dark:border-surface-700',
223
+ {
224
+ 'border-x-0 border-l-0': !context.showGridlines
225
+ },
226
+ { 'first:border-l border-r border-b': context?.showGridlines },
227
+
228
+ // Color
229
+ 'bg-surface-0 dark:bg-surface-800',
230
+
231
+ // Spacing
232
+ context?.size === 'small' ? 'p-2' : context?.size === 'large' ? 'p-5' : 'p-4',
233
+
234
+ // Misc
235
+ 'dark:border-surface-700',
236
+ {
237
+ 'cursor-pointer': context.selectable,
238
+ sticky: context.scrollable && context.scrollDirection === 'both' && context.frozen,
239
+ 'border-x-0 border-l-0': !context.showGridlines
240
+ }
241
+ ]
242
+ }),
243
+ rowtoggler: {
244
+ class: [
245
+ 'relative',
246
+
247
+ // Flex & Alignment
248
+ 'inline-flex items-center justify-center',
249
+ 'text-left align-middle',
250
+
251
+ // Spacing
252
+ 'm-0 mr-2 p-0',
253
+
254
+ // Size
255
+ 'w-8 h-8',
256
+
257
+ // Shape
258
+ 'border-0 rounded-full',
259
+
260
+ // Color
261
+ 'text-surface-500 dark:text-white/70',
262
+ 'bg-transparent',
263
+
264
+ // States
265
+ 'hover:bg-surface-50 dark:hover:bg-surface-700',
266
+ 'focus-visible:outline-none focus-visible:outline-offset-0',
267
+ 'focus-visible:ring focus-visible:ring-primary-400/50 dark:focus-visible:ring-primary-300/50',
268
+
269
+ // Transition
270
+ 'transition duration-200',
271
+
272
+ // Misc
273
+ 'overflow-hidden',
274
+ 'cursor-pointer select-none'
275
+ ]
276
+ },
277
+ sorticon: ({ context }) => ({
278
+ class: ['ml-2 inline-block', context.sorted ? 'fill-primary-700 dark:fill-white/80' : 'fill-surface-700 dark:fill-white/70']
279
+ }),
280
+ sortbadge: {
281
+ class: [
282
+ // Flex & Alignment
283
+ 'inline-flex items-center justify-center align-middle',
284
+
285
+ // Shape
286
+ 'rounded-full',
287
+
288
+ // Size
289
+ 'w-[1.143rem] leading-[1.143rem]',
290
+
291
+ // Spacing
292
+ 'ml-2',
293
+
294
+ // Color
295
+ 'text-primary-700 dark:text-white',
296
+ 'bg-primary-50 dark:bg-primary-400/30'
297
+ ]
298
+ },
299
+ columnresizer: {
300
+ class: [
301
+ 'block',
302
+
303
+ // Position
304
+ 'absolute top-0 right-0',
305
+
306
+ // Sizing
307
+ 'w-2 h-full',
308
+
309
+ // Spacing
310
+ 'm-0 p-0',
311
+
312
+ // Color
313
+ 'border border-transparent',
314
+
315
+ // Misc
316
+ 'cursor-col-resize'
317
+ ]
318
+ },
319
+ rowCheckbox: ({ props, context, instance }) => ({
320
+ root: {
321
+ class: [
322
+ 'relative',
323
+
324
+ // Alignment
325
+ 'inline-flex',
326
+ 'align-middle',
327
+
328
+ // Size
329
+ 'w-6',
330
+ 'h-6',
331
+
332
+ // Spacing
333
+ 'mr-2',
334
+
335
+ // Misc
336
+ 'cursor-pointer',
337
+ 'select-none'
338
+ ]
339
+ },
340
+ box: {
341
+ class: [
342
+ // Alignment
343
+ 'flex',
344
+ 'items-center',
345
+ 'justify-center',
346
+
347
+ // Size
348
+ 'w-6',
349
+ 'h-6',
350
+
351
+ // Shape
352
+ 'rounded-md',
353
+ 'border-2',
354
+
355
+ // Colors
356
+ {
357
+ 'border-surface-200 bg-surface-0 dark:border-surface-700 dark:bg-surface-900': !context.checked,
358
+ 'border-primary-500 bg-primary-500 dark:border-primary-400 dark:bg-primary-400': context.checked
359
+ },
360
+
361
+ // States
362
+ {
363
+ 'peer-hover:border-primary-500 dark:peer-hover:border-primary-400': !props.disabled && !context.checked,
364
+ 'peer-hover:bg-primary-700 dark:peer-hover:bg-primary-300 peer-hover:border-primary-700 dark:peer-hover:border-primary-300': !props.disabled && context.checked,
365
+ 'peer-focus-visible:border-primary-500 dark:peer-focus-visible:border-primary-400 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-400/20 dark:peer-focus-visible:ring-primary-300/20': !props.disabled,
366
+ 'cursor-default opacity-60': props.disabled
367
+ },
368
+
369
+ // Transitions
370
+ 'transition-colors',
371
+ 'duration-200'
372
+ ]
373
+ },
374
+ input: {
375
+ class: [
376
+ 'peer',
377
+
378
+ // Size
379
+ 'w-full ',
380
+ 'h-full',
381
+
382
+ // Position
383
+ 'absolute',
384
+ 'top-0 left-0',
385
+ 'z-10',
386
+
387
+ // Spacing
388
+ 'p-0',
389
+ 'm-0',
390
+
391
+ // Shape
392
+ 'opacity-0',
393
+ 'rounded-md',
394
+ 'outline-none',
395
+ 'border-2 border-surface-200 dark:border-surface-700',
396
+
397
+ // Misc
398
+ 'appearance-none',
399
+ 'cursor-pointer'
400
+ ]
401
+ },
402
+ icon: {
403
+ class: [
404
+ // Font
405
+ 'text-base leading-none',
406
+
407
+ // Size
408
+ 'w-4',
409
+ 'h-4',
410
+
411
+ // Colors
412
+ {
413
+ 'text-white dark:text-surface-900': !instance.partialChecked,
414
+ 'text-gray dark:text-white': instance.partialChecked
415
+ },
416
+
417
+ // Transitions
418
+ 'transition-all',
419
+ 'duration-200'
420
+ ]
421
+ }
422
+ }),
423
+
424
+ transition: {
425
+ enterFromClass: 'opacity-0 scale-y-[0.8]',
426
+ enterActiveClass: 'transition-[transform,opacity] duration-[120ms] ease-[cubic-bezier(0,0,0.2,1)]',
427
+ leaveActiveClass: 'transition-opacity duration-100 ease-linear',
428
+ leaveToClass: 'opacity-0'
429
+ }
430
+ },
431
+ resizehelper: {
432
+ class: 'absolute hidden w-[2px] z-20 bg-primary-500 dark:bg-primary-400'
433
+ }
434
+ };
@@ -0,0 +1,49 @@
1
+ declare namespace _default {
2
+ namespace root {
3
+ let _class: string[];
4
+ export { _class as class };
5
+ }
6
+ namespace input {
7
+ let _class_1: string[];
8
+ export { _class_1 as class };
9
+ }
10
+ function box({ props, context }: {
11
+ props: any;
12
+ context: any;
13
+ }): {
14
+ class: (string | {
15
+ 'border-surface-200 bg-surface-0 dark:border-surface-700 dark:bg-surface-900': boolean;
16
+ 'border-primary-500 bg-primary-500 dark:border-primary-400 dark:bg-primary-400': any;
17
+ 'border-red-500 dark:border-red-400'?: undefined;
18
+ 'peer-hover:border-primary-500 dark:peer-hover:border-primary-400'?: undefined;
19
+ 'peer-hover:bg-primary-600 dark:peer-hover:bg-primary-300 peer-hover:border-primary-700 dark:peer-hover:border-primary-300'?: undefined;
20
+ 'peer-focus-visible:border-primary-500 dark:peer-focus-visible:border-primary-400 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-400/20 dark:peer-focus-visible:ring-primary-300/20'?: undefined;
21
+ 'cursor-default opacity-60'?: undefined;
22
+ } | {
23
+ 'border-red-500 dark:border-red-400': any;
24
+ 'border-surface-200 bg-surface-0 dark:border-surface-700 dark:bg-surface-900'?: undefined;
25
+ 'border-primary-500 bg-primary-500 dark:border-primary-400 dark:bg-primary-400'?: undefined;
26
+ 'peer-hover:border-primary-500 dark:peer-hover:border-primary-400'?: undefined;
27
+ 'peer-hover:bg-primary-600 dark:peer-hover:bg-primary-300 peer-hover:border-primary-700 dark:peer-hover:border-primary-300'?: undefined;
28
+ 'peer-focus-visible:border-primary-500 dark:peer-focus-visible:border-primary-400 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-400/20 dark:peer-focus-visible:ring-primary-300/20'?: undefined;
29
+ 'cursor-default opacity-60'?: undefined;
30
+ } | {
31
+ 'peer-hover:border-primary-500 dark:peer-hover:border-primary-400': boolean;
32
+ 'peer-hover:bg-primary-600 dark:peer-hover:bg-primary-300 peer-hover:border-primary-700 dark:peer-hover:border-primary-300': any;
33
+ 'peer-focus-visible:border-primary-500 dark:peer-focus-visible:border-primary-400 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-400/20 dark:peer-focus-visible:ring-primary-300/20': boolean;
34
+ 'cursor-default opacity-60': any;
35
+ 'border-surface-200 bg-surface-0 dark:border-surface-700 dark:bg-surface-900'?: undefined;
36
+ 'border-primary-500 bg-primary-500 dark:border-primary-400 dark:bg-primary-400'?: undefined;
37
+ 'border-red-500 dark:border-red-400'?: undefined;
38
+ })[];
39
+ };
40
+ namespace checkicon {
41
+ let _class_2: string[];
42
+ export { _class_2 as class };
43
+ }
44
+ namespace uncheckicon {
45
+ let _class_3: string[];
46
+ export { _class_3 as class };
47
+ }
48
+ }
49
+ export default _default;
@@ -0,0 +1,104 @@
1
+ export default {
2
+ root: {
3
+ class: ['cursor-pointer inline-flex relative select-none align-bottom', 'w-6 h-6']
4
+ },
5
+ input: {
6
+ class: [
7
+ 'peer',
8
+
9
+ // Size
10
+ 'w-full ',
11
+ 'h-full',
12
+
13
+ // Position
14
+ 'absolute',
15
+ 'top-0 left-0',
16
+ 'z-10',
17
+
18
+ // Spacing
19
+ 'p-0',
20
+ 'm-0',
21
+
22
+ // Shape
23
+ 'opacity-0',
24
+ 'rounded-md',
25
+ 'outline-none',
26
+ 'border-2 border-surface-200 dark:border-surface-700',
27
+
28
+ // Misc
29
+ 'appearance-none',
30
+ 'cursor-pointer'
31
+ ]
32
+ },
33
+ box: ({ props, context }) => ({
34
+ class: [
35
+ // Alignment
36
+ 'flex',
37
+ 'items-center',
38
+ 'justify-center',
39
+
40
+ // Size
41
+ 'w-6',
42
+ 'h-6',
43
+
44
+ // Shape
45
+ 'rounded-md',
46
+ 'border-2',
47
+
48
+ // Colors
49
+ {
50
+ 'border-surface-200 bg-surface-0 dark:border-surface-700 dark:bg-surface-900': !context.active && !props.invalid,
51
+ 'border-primary-500 bg-primary-500 dark:border-primary-400 dark:bg-primary-400': context.active
52
+ },
53
+
54
+ // Invalid State
55
+ { 'border-red-500 dark:border-red-400': props.invalid },
56
+
57
+ // States
58
+ {
59
+ 'peer-hover:border-primary-500 dark:peer-hover:border-primary-400': !props.disabled && !context.active && !props.invalid,
60
+ 'peer-hover:bg-primary-600 dark:peer-hover:bg-primary-300 peer-hover:border-primary-700 dark:peer-hover:border-primary-300': !props.disabled && context.active,
61
+ 'peer-focus-visible:border-primary-500 dark:peer-focus-visible:border-primary-400 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-400/20 dark:peer-focus-visible:ring-primary-300/20': !props.disabled,
62
+ 'cursor-default opacity-60': props.disabled
63
+ },
64
+
65
+ // Transitions
66
+ 'transition-colors',
67
+ 'duration-200'
68
+ ]
69
+ }),
70
+ checkicon: {
71
+ class: [
72
+ // Font
73
+ 'text-base leading-none',
74
+
75
+ // Size
76
+ 'w-4',
77
+ 'h-4',
78
+
79
+ // Colors
80
+ 'text-white dark:text-surface-900',
81
+
82
+ // Transitions
83
+ 'transition-all',
84
+ 'duration-200'
85
+ ]
86
+ },
87
+ uncheckicon: {
88
+ class: [
89
+ // Font
90
+ 'text-base leading-none',
91
+
92
+ // Size
93
+ 'w-4',
94
+ 'h-4',
95
+
96
+ // Colors
97
+ 'text-white dark:text-surface-900',
98
+
99
+ // Transitions
100
+ 'transition-all',
101
+ 'duration-200'
102
+ ]
103
+ }
104
+ };
@@ -0,0 +1,27 @@
1
+ @tailwind base
2
+ @tailwind components
3
+ @tailwind utilities
4
+ :root
5
+ --primary-50: 236 253 245
6
+ --primary-100: 209 250 229
7
+ --primary-200: 167 243 208
8
+ --primary-300: 110 231 183
9
+ --primary-400: 52 211 153
10
+ --primary-500: 58 58 58
11
+ --primary-600: 5 150 105
12
+ --primary-700: 4 120 87
13
+ --primary-800: 6 95 70
14
+ --primary-900: 4 78 56
15
+ --primary-950: 2 44 34
16
+ --surface-0: 255 255 255
17
+ --surface-50: 248 250 252
18
+ --surface-100: 241 245 249
19
+ --surface-200: 226 232 240
20
+ --surface-300: 203 213 225
21
+ --surface-400: 148 163 184
22
+ --surface-500: 100 116 139
23
+ --surface-600: 71 85 105
24
+ --surface-700: 45 55 72
25
+ --surface-800: 30 41 59
26
+ --surface-900: 15 23 42
27
+ --surface-950: 3 6 23;
@@ -0,0 +1,3 @@
1
+ import type { Config as TailwindConfig } from "tailwindcss/types/config.d";
2
+ declare const gluharTheme: TailwindConfig["theme"];
3
+ export default gluharTheme;
@@ -0,0 +1,52 @@
1
+ import defaultTheme from "tailwindcss/defaultTheme.js";
2
+ const gluharTheme = {
3
+ // Overrides
4
+ fontFamily: {
5
+ sans: ["Object Sans", ...defaultTheme.fontFamily.sans]
6
+ },
7
+ // Extends
8
+ extend: {
9
+ // Colors
10
+ colors: {
11
+ primary: {
12
+ // PrimeVue colors
13
+ "50": "rgb(var(--primary-50))",
14
+ "100": "rgb(var(--primary-100))",
15
+ "200": "rgb(var(--primary-200))",
16
+ "300": "rgb(var(--primary-300))",
17
+ "400": "rgb(var(--primary-400))",
18
+ "500": "rgb(var(--primary-500))",
19
+ "600": "rgb(var(--primary-600))",
20
+ "700": "rgb(var(--primary-700))",
21
+ "800": "rgb(var(--primary-800))",
22
+ "900": "rgb(var(--primary-900))",
23
+ "950": "rgb(var(--primary-950))"
24
+ },
25
+ secondary: {
26
+ base: "#F9F9F9"
27
+ },
28
+ accent: {
29
+ base: "#ffaaff"
30
+ },
31
+ white: {
32
+ base: "#fff"
33
+ },
34
+ // PrimeVue colors
35
+ surface: {
36
+ "0": "rgb(var(--surface-0))",
37
+ "50": "rgb(var(--surface-50))",
38
+ "100": "rgb(var(--surface-100))",
39
+ "200": "rgb(var(--surface-200))",
40
+ "300": "rgb(var(--surface-300))",
41
+ "400": "rgb(var(--surface-400))",
42
+ "500": "rgb(var(--surface-500))",
43
+ "600": "rgb(var(--surface-600))",
44
+ "700": "rgb(var(--surface-700))",
45
+ "800": "rgb(var(--surface-800))",
46
+ "900": "rgb(var(--surface-900))",
47
+ "950": "rgb(var(--surface-950))"
48
+ }
49
+ }
50
+ }
51
+ };
52
+ export default gluharTheme;
@@ -0,0 +1,3 @@
1
+ import type { Nuxt } from "@nuxt/schema";
2
+ import type { GluharThemeOptions } from "~/src/module";
3
+ export declare const handleTailwind: (options: GluharThemeOptions, nuxt: Nuxt) => void;