@cooperco/cooper-component-library 0.0.10 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/component-lib.js +6960 -0
  2. package/dist/component-lib.umd.cjs +98 -0
  3. package/dist/style.css +1 -0
  4. package/dist/vite.svg +16 -0
  5. package/package.json +93 -84
  6. package/src/assets/fonts/GT-Walsheim-Bold.woff +0 -0
  7. package/src/assets/fonts/GT-Walsheim-Bold.woff2 +0 -0
  8. package/src/assets/fonts/GT-Walsheim-LC-Bold.woff +0 -0
  9. package/src/assets/fonts/GT-Walsheim-LC-Bold.woff2 +0 -0
  10. package/src/assets/fonts/GT-Walsheim-LC-Regular.woff +0 -0
  11. package/src/assets/fonts/GT-Walsheim-LC-Regular.woff2 +0 -0
  12. package/src/assets/fonts/GT-Walsheim-Medium.woff +0 -0
  13. package/src/assets/fonts/GT-Walsheim-Medium.woff2 +0 -0
  14. package/src/assets/fonts/GT-Walsheim-Regular.woff +0 -0
  15. package/src/assets/fonts/GT-Walsheim-Regular.woff2 +0 -0
  16. package/src/assets/fonts/fonts.scss +60 -0
  17. package/src/assets/fonts/notosanssc-bold-webfont.woff +0 -0
  18. package/src/assets/fonts/notosanssc-bold-webfont.woff2 +0 -0
  19. package/src/assets/fonts/notosanssc-regular-webfont.woff +0 -0
  20. package/src/assets/fonts/notosanssc-regular-webfont.woff2 +0 -0
  21. package/src/assets/main.css +18 -114
  22. package/src/assets/theme.css +5 -1
  23. package/src/components/{types → Accordion}/Accordion.ts +8 -6
  24. package/src/components/Accordion/Accordion.vue +66 -0
  25. package/src/components/Accordion/AccordionItem.ts +25 -0
  26. package/src/components/Accordion/AccordionItem.vue +104 -0
  27. package/src/components/{AccordionItem.vue → Accordion/AccordionListItem.vue} +22 -14
  28. package/src/components/Accordion/AccordionTileItem.vue +75 -0
  29. package/src/components/CTA/CTA.ts +22 -0
  30. package/src/components/CTA/CTA.vue +65 -0
  31. package/src/components/CarouselModule/CarouselModule.ts +20 -0
  32. package/src/components/{CarouselModule.vue → CarouselModule/CarouselModule.vue} +25 -7
  33. package/src/components/ContainerCollectionModule/ContainerCollectionModule.ts +12 -0
  34. package/src/components/{ContainerCollectionModule.vue → ContainerCollectionModule/ContainerCollectionModule.vue} +12 -3
  35. package/src/components/ContainerModule/ContainerModule.ts +69 -0
  36. package/src/components/{ContainerModule.vue → ContainerModule/ContainerModule.vue} +33 -36
  37. package/src/components/ContentModule/ContentModule.ts +31 -0
  38. package/src/components/ContentModule/ContentModule.vue +65 -0
  39. package/src/components/{types → FooterNavigation}/FooterNavigation.ts +3 -2
  40. package/src/components/{FooterNavigation.vue → FooterNavigation/FooterNavigation.vue} +4 -2
  41. package/src/components/Image/Image.vue +17 -0
  42. package/src/components/{types → LogoCollectionModule}/LogoCollectionModule.ts +3 -3
  43. package/src/components/{LogoCollectionModule.vue → LogoCollectionModule/LogoCollectionModule.vue} +13 -3
  44. package/src/components/{types → NavigationElement}/NavigationElement.ts +6 -3
  45. package/src/components/{NavigationElement.vue → NavigationElement/NavigationElement.vue} +18 -9
  46. package/src/components/{types → PrimaryNavigation}/PrimaryNavigation.ts +2 -2
  47. package/src/components/{PrimaryNavigation.vue → PrimaryNavigation/PrimaryNavigation.vue} +7 -4
  48. package/src/components/{types → SplitModule}/SplitModule.ts +6 -5
  49. package/src/components/SplitModule/SplitModule.vue +57 -0
  50. package/src/components/TestimonialModule/TestimonialModule.ts +22 -0
  51. package/src/components/TestimonialModule/TestimonialModule.vue +51 -0
  52. package/src/components/TileCollectionModule/TileCollectionModule.ts +18 -0
  53. package/src/components/TileCollectionModule/TileCollectionModule.vue +58 -0
  54. package/src/components/TileContent/TileContent.ts +60 -0
  55. package/src/components/{TileContent.vue → TileContent/TileContent.vue} +25 -14
  56. package/src/components/TileContent/TileContentIconTile.vue +83 -0
  57. package/src/components/TileContent/TileContentImageStackedAnimatedTile.vue +121 -0
  58. package/src/components/TileContent/TileContentImageTile.vue +80 -0
  59. package/src/components/TileContent/TileContentTextTile.vue +63 -0
  60. package/src/components/TileContent/TileContentVideoTile.vue +81 -0
  61. package/src/components/{types → Video}/Video.ts +1 -1
  62. package/src/components/{Video.vue → Video/Video.vue} +1 -1
  63. package/src/config/defaultPassthrough.ts +261 -0
  64. package/src/assets/usercard.jpg +0 -0
  65. package/src/assets/vue.svg +0 -1
  66. package/src/components/Accordion.vue +0 -33
  67. package/src/components/CTA.vue +0 -39
  68. package/src/components/ContentAndImage.vue +0 -34
  69. package/src/components/ContentMediaModule.vue +0 -50
  70. package/src/components/ContentModule.vue +0 -51
  71. package/src/components/IconChevron.vue +0 -107
  72. package/src/components/Image.vue +0 -15
  73. package/src/components/LogoContainerModule.vue +0 -30
  74. package/src/components/SplitModule.vue +0 -42
  75. package/src/components/Testimonial.vue +0 -48
  76. package/src/components/TestimonialModule.vue +0 -48
  77. package/src/components/TileCollection.vue +0 -37
  78. package/src/components/TileCollectionModule.vue +0 -45
  79. package/src/components/types/AccordionItem.ts +0 -19
  80. package/src/components/types/CTA.ts +0 -13
  81. package/src/components/types/CarouselModule.ts +0 -21
  82. package/src/components/types/ContainerCollectionModule.ts +0 -12
  83. package/src/components/types/ContainerModule.ts +0 -35
  84. package/src/components/types/ContentAndImage.ts +0 -14
  85. package/src/components/types/ContentMediaModule.ts +0 -14
  86. package/src/components/types/ContentModule.ts +0 -21
  87. package/src/components/types/LogoContainerModule.ts +0 -12
  88. package/src/components/types/Testimonial.ts +0 -17
  89. package/src/components/types/TileCollection.ts +0 -14
  90. package/src/components/types/TileContent.ts +0 -34
  91. package/src/components/types/index.ts +0 -10
  92. package/src/presets/aura/accordion/index.js +0 -81
  93. package/src/presets/aura/autocomplete/index.js +0 -280
  94. package/src/presets/aura/avatar/index.js +0 -46
  95. package/src/presets/aura/badge/index.js +0 -43
  96. package/src/presets/aura/badgedirective/index.js +0 -49
  97. package/src/presets/aura/blockui/index.js +0 -8
  98. package/src/presets/aura/breadcrumb/index.js +0 -63
  99. package/src/presets/aura/button/index.js +0 -511
  100. package/src/presets/aura/calendar/index.js +0 -702
  101. package/src/presets/aura/card/index.js +0 -53
  102. package/src/presets/aura/carousel/index.js +0 -160
  103. package/src/presets/aura/cascadeselect/index.js +0 -220
  104. package/src/presets/aura/checkbox/index.js +0 -107
  105. package/src/presets/aura/chip/index.js +0 -45
  106. package/src/presets/aura/chips/index.js +0 -126
  107. package/src/presets/aura/colorpicker/index.js +0 -132
  108. package/src/presets/aura/confirmpopup/index.js +0 -111
  109. package/src/presets/aura/contextmenu/index.js +0 -132
  110. package/src/presets/aura/datatable/index.js +0 -1290
  111. package/src/presets/aura/dataview/index.js +0 -40
  112. package/src/presets/aura/deferred/index.js +0 -3
  113. package/src/presets/aura/dialog/index.js +0 -250
  114. package/src/presets/aura/divider/index.js +0 -72
  115. package/src/presets/aura/dock/index.js +0 -97
  116. package/src/presets/aura/dropdown/index.js +0 -297
  117. package/src/presets/aura/fieldset/index.js +0 -95
  118. package/src/presets/aura/fileupload/index.js +0 -175
  119. package/src/presets/aura/floatlabel/index.js +0 -26
  120. package/src/presets/aura/galleria/index.js +0 -353
  121. package/src/presets/aura/global.js +0 -90
  122. package/src/presets/aura/iconfield/index.js +0 -22
  123. package/src/presets/aura/image/index.js +0 -206
  124. package/src/presets/aura/index.js +0 -181
  125. package/src/presets/aura/inlinemessage/index.js +0 -46
  126. package/src/presets/aura/inplace/index.js +0 -27
  127. package/src/presets/aura/inputgroup/index.js +0 -5
  128. package/src/presets/aura/inputgroupaddon/index.js +0 -28
  129. package/src/presets/aura/inputmask/index.js +0 -47
  130. package/src/presets/aura/inputnumber/index.js +0 -293
  131. package/src/presets/aura/inputotp/index.js +0 -69
  132. package/src/presets/aura/inputswitch/index.js +0 -94
  133. package/src/presets/aura/inputtext/index.js +0 -63
  134. package/src/presets/aura/knob/index.js +0 -47
  135. package/src/presets/aura/listbox/index.js +0 -158
  136. package/src/presets/aura/megamenu/index.js +0 -206
  137. package/src/presets/aura/menu/index.js +0 -122
  138. package/src/presets/aura/menubar/index.js +0 -184
  139. package/src/presets/aura/message/index.js +0 -112
  140. package/src/presets/aura/metergroup/index.js +0 -110
  141. package/src/presets/aura/multiselect/index.js +0 -579
  142. package/src/presets/aura/orderlist/index.js +0 -281
  143. package/src/presets/aura/organizationchart/index.js +0 -142
  144. package/src/presets/aura/overlaypanel/index.js +0 -34
  145. package/src/presets/aura/paginator/index.js +0 -566
  146. package/src/presets/aura/panel/index.js +0 -102
  147. package/src/presets/aura/panelmenu/index.js +0 -130
  148. package/src/presets/aura/password/index.js +0 -143
  149. package/src/presets/aura/picklist/index.js +0 -718
  150. package/src/presets/aura/progressbar/index.js +0 -64
  151. package/src/presets/aura/progressspinner/index.js +0 -51
  152. package/src/presets/aura/radiobutton/index.js +0 -121
  153. package/src/presets/aura/rating/index.js +0 -95
  154. package/src/presets/aura/ripple/index.js +0 -6
  155. package/src/presets/aura/scrollpanel/index.js +0 -77
  156. package/src/presets/aura/scrolltop/index.js +0 -45
  157. package/src/presets/aura/selectbutton/index.js +0 -66
  158. package/src/presets/aura/sidebar/index.js +0 -160
  159. package/src/presets/aura/skeleton/index.js +0 -19
  160. package/src/presets/aura/slider/index.js +0 -144
  161. package/src/presets/aura/speeddial/index.js +0 -579
  162. package/src/presets/aura/splitbutton/index.js +0 -1185
  163. package/src/presets/aura/splitter/index.js +0 -71
  164. package/src/presets/aura/stepper/index.js +0 -183
  165. package/src/presets/aura/steps/index.js +0 -117
  166. package/src/presets/aura/tabmenu/index.js +0 -75
  167. package/src/presets/aura/tabview/index.js +0 -162
  168. package/src/presets/aura/tag/index.js +0 -44
  169. package/src/presets/aura/terminal/index.js +0 -60
  170. package/src/presets/aura/textarea/index.js +0 -49
  171. package/src/presets/aura/tieredmenu/index.js +0 -125
  172. package/src/presets/aura/timeline/index.js +0 -114
  173. package/src/presets/aura/toast/index.js +0 -151
  174. package/src/presets/aura/togglebutton/index.js +0 -98
  175. package/src/presets/aura/toolbar/index.js +0 -28
  176. package/src/presets/aura/tooltip/index.js +0 -73
  177. package/src/presets/aura/tree/index.js +0 -294
  178. package/src/presets/aura/treeselect/index.js +0 -404
  179. package/src/presets/aura/treetable/index.js +0 -513
  180. package/src/presets/aura/tristatecheckbox/index.js +0 -121
  181. /package/src/components/{types → Image}/Image.ts +0 -0
@@ -1,511 +0,0 @@
1
- export default {
2
- root: ({ props, context, parent }) => ({
3
- class: [
4
- 'relative',
5
-
6
- // Alignments
7
- 'items-center inline-flex text-center align-bottom justify-center',
8
-
9
- // Sizes & Spacing
10
- 'leading-[normal]',
11
- {
12
- 'px-4 py-2': props.size === null,
13
- 'text-sm py-1.5 px-3': props.size === 'small',
14
- 'text-xl py-3 px-4': props.size === 'large',
15
- },
16
- {
17
- 'w-10 px-0 py-2': props.label == null && props.icon !== null,
18
- },
19
-
20
- // Shapes
21
- { 'shadow-lg': props.raised },
22
- { 'rounded-md': !props.rounded, 'rounded-full': props.rounded },
23
- {
24
- 'rounded-none first:rounded-l-md last:rounded-r-md':
25
- parent.instance.$name == 'InputGroup',
26
- },
27
-
28
- // Link Button
29
- { 'text-primary-600 bg-transparent border-transparent': props.link },
30
-
31
- // Plain Button
32
- {
33
- 'text-white bg-gray-500 border border-gray-500':
34
- props.plain && !props.outlined && !props.text,
35
- },
36
- // Plain Text Button
37
- { 'text-surface-500': props.plain && props.text },
38
- // Plain Outlined Button
39
- {
40
- 'text-surface-500 border border-gray-500':
41
- props.plain && props.outlined,
42
- },
43
-
44
- // Text Button
45
- { 'bg-transparent border-transparent': props.text && !props.plain },
46
-
47
- // Outlined Button
48
- { 'bg-transparent border': props.outlined && !props.plain },
49
-
50
- // --- Severity Buttons ---
51
-
52
- // Primary Button
53
- {
54
- 'text-primary-inverse':
55
- !props.link &&
56
- props.severity === null &&
57
- !props.text &&
58
- !props.outlined &&
59
- !props.plain,
60
- 'bg-primary':
61
- !props.link &&
62
- props.severity === null &&
63
- !props.text &&
64
- !props.outlined &&
65
- !props.plain,
66
- 'border border-primary':
67
- !props.link &&
68
- props.severity === null &&
69
- !props.text &&
70
- !props.outlined &&
71
- !props.plain,
72
- },
73
- // Primary Text Button
74
- { 'text-primary': props.text && props.severity === null && !props.plain },
75
- // Primary Outlined Button
76
- {
77
- 'text-primary border border-primary':
78
- props.outlined && props.severity === null && !props.plain,
79
- },
80
-
81
- // Secondary Button
82
- {
83
- 'text-surface-900 dark:text-white':
84
- props.severity === 'secondary' &&
85
- !props.text &&
86
- !props.outlined &&
87
- !props.plain,
88
- 'bg-surface-100 dark:bg-surface-700':
89
- props.severity === 'secondary' &&
90
- !props.text &&
91
- !props.outlined &&
92
- !props.plain,
93
- 'border border-surface-100 dark:border-surface-700':
94
- props.severity === 'secondary' &&
95
- !props.text &&
96
- !props.outlined &&
97
- !props.plain,
98
- },
99
- // Secondary Text Button
100
- {
101
- 'text-surface-500 dark:text-surface-300':
102
- props.text && props.severity === 'secondary' && !props.plain,
103
- },
104
- // Secondary Outlined Button
105
- {
106
- 'text-surface-500 dark:text-surface-300 border border-surface-500 hover:bg-surface-300/10':
107
- props.outlined && props.severity === 'secondary' && !props.plain,
108
- },
109
-
110
- // Success Button
111
- {
112
- 'text-white dark:text-green-900':
113
- props.severity === 'success' &&
114
- !props.text &&
115
- !props.outlined &&
116
- !props.plain,
117
- 'bg-green-500 dark:bg-green-400':
118
- props.severity === 'success' &&
119
- !props.text &&
120
- !props.outlined &&
121
- !props.plain,
122
- 'border border-green-500 dark:border-green-400':
123
- props.severity === 'success' &&
124
- !props.text &&
125
- !props.outlined &&
126
- !props.plain,
127
- },
128
- // Success Text Button
129
- {
130
- 'text-green-500 dark:text-green-400':
131
- props.text && props.severity === 'success' && !props.plain,
132
- },
133
- // Success Outlined Button
134
- {
135
- 'text-green-500 border border-green-500 hover:bg-green-300/10':
136
- props.outlined && props.severity === 'success' && !props.plain,
137
- },
138
-
139
- // Info Button
140
- {
141
- 'text-white dark:text-surface-900':
142
- props.severity === 'info' &&
143
- !props.text &&
144
- !props.outlined &&
145
- !props.plain,
146
- 'bg-blue-500 dark:bg-blue-400':
147
- props.severity === 'info' &&
148
- !props.text &&
149
- !props.outlined &&
150
- !props.plain,
151
- 'border border-blue-500 dark:border-blue-400':
152
- props.severity === 'info' &&
153
- !props.text &&
154
- !props.outlined &&
155
- !props.plain,
156
- },
157
- // Info Text Button
158
- {
159
- 'text-blue-500 dark:text-blue-400':
160
- props.text && props.severity === 'info' && !props.plain,
161
- },
162
- // Info Outlined Button
163
- {
164
- 'text-blue-500 border border-blue-500 hover:bg-blue-300/10 ':
165
- props.outlined && props.severity === 'info' && !props.plain,
166
- },
167
-
168
- // Warning Button
169
- {
170
- 'text-white dark:text-surface-900':
171
- props.severity === 'warning' &&
172
- !props.text &&
173
- !props.outlined &&
174
- !props.plain,
175
- 'bg-orange-500 dark:bg-orange-400':
176
- props.severity === 'warning' &&
177
- !props.text &&
178
- !props.outlined &&
179
- !props.plain,
180
- 'border border-orange-500 dark:border-orange-400':
181
- props.severity === 'warning' &&
182
- !props.text &&
183
- !props.outlined &&
184
- !props.plain,
185
- },
186
- // Warning Text Button
187
- {
188
- 'text-orange-500 dark:text-orange-400':
189
- props.text && props.severity === 'warning' && !props.plain,
190
- },
191
- // Warning Outlined Button
192
- {
193
- 'text-orange-500 border border-orange-500 hover:bg-orange-300/10':
194
- props.outlined && props.severity === 'warning' && !props.plain,
195
- },
196
-
197
- // Help Button
198
- {
199
- 'text-white dark:text-surface-900':
200
- props.severity === 'help' &&
201
- !props.text &&
202
- !props.outlined &&
203
- !props.plain,
204
- 'bg-purple-500 dark:bg-purple-400':
205
- props.severity === 'help' &&
206
- !props.text &&
207
- !props.outlined &&
208
- !props.plain,
209
- 'border border-purple-500 dark:border-purple-400':
210
- props.severity === 'help' &&
211
- !props.text &&
212
- !props.outlined &&
213
- !props.plain,
214
- },
215
- // Help Text Button
216
- {
217
- 'text-purple-500 dark:text-purple-400':
218
- props.text && props.severity === 'help' && !props.plain,
219
- },
220
- // Help Outlined Button
221
- {
222
- 'text-purple-500 border border-purple-500 hover:bg-purple-300/10':
223
- props.outlined && props.severity === 'help' && !props.plain,
224
- },
225
-
226
- // Danger Button
227
- {
228
- 'text-white dark:text-surface-900':
229
- props.severity === 'danger' &&
230
- !props.text &&
231
- !props.outlined &&
232
- !props.plain,
233
- 'bg-red-500 dark:bg-red-400':
234
- props.severity === 'danger' &&
235
- !props.text &&
236
- !props.outlined &&
237
- !props.plain,
238
- 'border border-red-500 dark:border-red-400':
239
- props.severity === 'danger' &&
240
- !props.text &&
241
- !props.outlined &&
242
- !props.plain,
243
- },
244
- // Danger Text Button
245
- {
246
- 'text-red-500 dark:text-red-400':
247
- props.text && props.severity === 'danger' && !props.plain,
248
- },
249
- // Danger Outlined Button
250
- {
251
- 'text-red-500 border border-red-500 hover:bg-red-300/10':
252
- props.outlined && props.severity === 'danger' && !props.plain,
253
- },
254
-
255
- // Contrast Button
256
- {
257
- 'text-white dark:text-surface-900':
258
- props.severity === 'contrast' &&
259
- !props.text &&
260
- !props.outlined &&
261
- !props.plain,
262
- 'bg-surface-900 dark:bg-surface-0':
263
- props.severity === 'contrast' &&
264
- !props.text &&
265
- !props.outlined &&
266
- !props.plain,
267
- 'border border-surface-900 dark:border-surface-0':
268
- props.severity === 'contrast' &&
269
- !props.text &&
270
- !props.outlined &&
271
- !props.plain,
272
- },
273
- // Contrast Text Button
274
- {
275
- 'text-surface-900 dark:text-surface-0':
276
- props.text && props.severity === 'contrast' && !props.plain,
277
- },
278
- // Contrast Outlined Button
279
- {
280
- 'text-surface-900 dark:text-surface-0 border border-surface-900 dark:border-surface-0':
281
- props.outlined && props.severity === 'contrast' && !props.plain,
282
- },
283
-
284
- // --- Severity Button States ---
285
- 'focus:outline-none focus:outline-offset-0 focus:ring-1',
286
-
287
- // Link
288
- { 'focus:ring-primary': props.link },
289
-
290
- // Plain
291
- {
292
- 'hover:bg-gray-600 hover:border-gray-600':
293
- props.plain && !props.outlined && !props.text,
294
- },
295
- // Text & Outlined Button
296
- {
297
- 'hover:bg-surface-300/10':
298
- props.plain && (props.text || props.outlined),
299
- },
300
-
301
- // Primary
302
- {
303
- 'hover:bg-primary-hover hover:border-primary-hover':
304
- !props.link &&
305
- props.severity === null &&
306
- !props.text &&
307
- !props.outlined &&
308
- !props.plain,
309
- },
310
- { 'focus:ring-primary': props.severity === null },
311
- // Text & Outlined Button
312
- {
313
- 'hover:bg-primary-300/10':
314
- (props.text || props.outlined) &&
315
- props.severity === null &&
316
- !props.plain,
317
- },
318
-
319
- // Secondary
320
- {
321
- 'hover:bg-surface-200 dark:hover:bg-surface-600 hover:border-surface-200 dark:hover:border-surface-600':
322
- props.severity === 'secondary' &&
323
- !props.text &&
324
- !props.outlined &&
325
- !props.plain,
326
- },
327
- {
328
- 'focus:ring-surface-500 dark:focus:ring-surface-400':
329
- props.severity === 'secondary',
330
- },
331
- // Text & Outlined Button
332
- {
333
- 'hover:bg-surface-300/10':
334
- (props.text || props.outlined) &&
335
- props.severity === 'secondary' &&
336
- !props.plain,
337
- },
338
-
339
- // Success
340
- {
341
- 'hover:bg-green-600 dark:hover:bg-green-300 hover:border-green-600 dark:hover:border-green-300':
342
- props.severity === 'success' &&
343
- !props.text &&
344
- !props.outlined &&
345
- !props.plain,
346
- },
347
- {
348
- 'focus:ring-green-500 dark:focus:ring-green-400':
349
- props.severity === 'success',
350
- },
351
- // Text & Outlined Button
352
- {
353
- 'hover:bg-green-300/10':
354
- (props.text || props.outlined) &&
355
- props.severity === 'success' &&
356
- !props.plain,
357
- },
358
-
359
- // Info
360
- {
361
- 'hover:bg-blue-600 dark:hover:bg-blue-300 hover:border-blue-600 dark:hover:border-blue-300':
362
- props.severity === 'info' &&
363
- !props.text &&
364
- !props.outlined &&
365
- !props.plain,
366
- },
367
- {
368
- 'focus:ring-blue-500 dark:focus:ring-blue-400':
369
- props.severity === 'info',
370
- },
371
- // Text & Outlined Button
372
- {
373
- 'hover:bg-blue-300/10':
374
- (props.text || props.outlined) &&
375
- props.severity === 'info' &&
376
- !props.plain,
377
- },
378
-
379
- // Warning
380
- {
381
- 'hover:bg-orange-600 dark:hover:bg-orange-300 hover:border-orange-600 dark:hover:border-orange-300':
382
- props.severity === 'warning' &&
383
- !props.text &&
384
- !props.outlined &&
385
- !props.plain,
386
- },
387
- {
388
- 'focus:ring-orange-500 dark:focus:ring-orange-400':
389
- props.severity === 'warning',
390
- },
391
- // Text & Outlined Button
392
- {
393
- 'hover:bg-orange-300/10':
394
- (props.text || props.outlined) &&
395
- props.severity === 'warning' &&
396
- !props.plain,
397
- },
398
-
399
- // Help
400
- {
401
- 'hover:bg-purple-600 dark:hover:bg-purple-300 hover:border-purple-600 dark:hover:border-purple-300':
402
- props.severity === 'help' &&
403
- !props.text &&
404
- !props.outlined &&
405
- !props.plain,
406
- },
407
- {
408
- 'focus:ring-purple-500 dark:focus:ring-purple-400':
409
- props.severity === 'help',
410
- },
411
- // Text & Outlined Button
412
- {
413
- 'hover:bg-purple-300/10':
414
- (props.text || props.outlined) &&
415
- props.severity === 'help' &&
416
- !props.plain,
417
- },
418
-
419
- // Danger
420
- {
421
- 'hover:bg-red-600 dark:hover:bg-red-300 hover:border-red-600 dark:hover:border-red-300':
422
- props.severity === 'danger' &&
423
- !props.text &&
424
- !props.outlined &&
425
- !props.plain,
426
- },
427
- {
428
- 'focus:ring-red-500 dark:focus:ring-red-400':
429
- props.severity === 'danger',
430
- },
431
- // Text & Outlined Button
432
- {
433
- 'hover:bg-red-300/10':
434
- (props.text || props.outlined) &&
435
- props.severity === 'danger' &&
436
- !props.plain,
437
- },
438
-
439
- // Contrast
440
- {
441
- 'hover:bg-surface-800 dark:hover:bg-surface-100 hover:border-surface-800 dark:hover:border-surface-100':
442
- props.severity === 'contrast' &&
443
- !props.text &&
444
- !props.outlined &&
445
- !props.plain,
446
- },
447
- {
448
- 'focus:ring-surface-500 dark:focus:ring-surface-400':
449
- props.severity === 'contrast',
450
- },
451
- // Text & Outlined Button
452
- {
453
- 'hover:bg-surface-900/10 dark:hover:bg-[rgba(255,255,255,0.03)]':
454
- (props.text || props.outlined) &&
455
- props.severity === 'contrast' &&
456
- !props.plain,
457
- },
458
-
459
- // Disabled
460
- { 'opacity-60 pointer-events-none cursor-default': context.disabled },
461
-
462
- // Transitions
463
- 'transition duration-200 ease-in-out',
464
-
465
- // Misc
466
- 'cursor-pointer overflow-hidden select-none',
467
- ],
468
- }),
469
- label: ({ props }) => ({
470
- class: [
471
- 'duration-200',
472
- 'font-medium',
473
- {
474
- 'hover:underline': props.link,
475
- },
476
- { 'flex-1': props.label !== null, 'invisible w-0': props.label == null },
477
- ],
478
- }),
479
- icon: ({ props }) => ({
480
- class: [
481
- 'mx-0',
482
- {
483
- 'mr-2': props.iconPos == 'left' && props.label != null,
484
- 'ml-2 order-1': props.iconPos == 'right' && props.label != null,
485
- 'mb-2': props.iconPos == 'top' && props.label != null,
486
- 'mt-2': props.iconPos == 'bottom' && props.label != null,
487
- },
488
- ],
489
- }),
490
- loadingicon: ({ props }) => ({
491
- class: [
492
- 'h-4 w-4',
493
- 'mx-0',
494
- {
495
- 'mr-2': props.iconPos == 'left' && props.label != null,
496
- 'ml-2 order-1': props.iconPos == 'right' && props.label != null,
497
- 'mb-2': props.iconPos == 'top' && props.label != null,
498
- 'mt-2': props.iconPos == 'bottom' && props.label != null,
499
- },
500
- 'animate-spin',
501
- ],
502
- }),
503
- badge: ({ props }) => ({
504
- class: [
505
- {
506
- 'ml-2 w-4 h-4 leading-none flex items-center justify-center':
507
- props.badge,
508
- },
509
- ],
510
- }),
511
- }