@cooperco/cooper-component-library 0.0.10 → 0.1.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 (178) hide show
  1. package/dist/component-lib.js +6947 -0
  2. package/dist/component-lib.umd.cjs +98 -0
  3. package/package.json +29 -20
  4. package/src/assets/fonts/GT-Walsheim-Bold.woff +0 -0
  5. package/src/assets/fonts/GT-Walsheim-Bold.woff2 +0 -0
  6. package/src/assets/fonts/GT-Walsheim-LC-Bold.woff +0 -0
  7. package/src/assets/fonts/GT-Walsheim-LC-Bold.woff2 +0 -0
  8. package/src/assets/fonts/GT-Walsheim-LC-Regular.woff +0 -0
  9. package/src/assets/fonts/GT-Walsheim-LC-Regular.woff2 +0 -0
  10. package/src/assets/fonts/GT-Walsheim-Medium.woff +0 -0
  11. package/src/assets/fonts/GT-Walsheim-Medium.woff2 +0 -0
  12. package/src/assets/fonts/GT-Walsheim-Regular.woff +0 -0
  13. package/src/assets/fonts/GT-Walsheim-Regular.woff2 +0 -0
  14. package/src/assets/fonts/fonts.scss +60 -0
  15. package/src/assets/fonts/notosanssc-bold-webfont.woff +0 -0
  16. package/src/assets/fonts/notosanssc-bold-webfont.woff2 +0 -0
  17. package/src/assets/fonts/notosanssc-regular-webfont.woff +0 -0
  18. package/src/assets/fonts/notosanssc-regular-webfont.woff2 +0 -0
  19. package/src/assets/main.css +18 -114
  20. package/src/assets/theme.css +5 -1
  21. package/src/components/{types → Accordion}/Accordion.ts +8 -6
  22. package/src/components/Accordion/Accordion.vue +66 -0
  23. package/src/components/Accordion/AccordionItem.ts +25 -0
  24. package/src/components/Accordion/AccordionItem.vue +104 -0
  25. package/src/components/{AccordionItem.vue → Accordion/AccordionListItem.vue} +22 -14
  26. package/src/components/Accordion/AccordionTileItem.vue +75 -0
  27. package/src/components/CTA/CTA.ts +22 -0
  28. package/src/components/CTA/CTA.vue +65 -0
  29. package/src/components/CarouselModule/CarouselModule.ts +20 -0
  30. package/src/components/{CarouselModule.vue → CarouselModule/CarouselModule.vue} +25 -7
  31. package/src/components/ContainerCollectionModule/ContainerCollectionModule.ts +12 -0
  32. package/src/components/{ContainerCollectionModule.vue → ContainerCollectionModule/ContainerCollectionModule.vue} +12 -3
  33. package/src/components/ContainerModule/ContainerModule.ts +69 -0
  34. package/src/components/{ContainerModule.vue → ContainerModule/ContainerModule.vue} +33 -36
  35. package/src/components/ContentModule/ContentModule.ts +31 -0
  36. package/src/components/ContentModule/ContentModule.vue +65 -0
  37. package/src/components/{types → FooterNavigation}/FooterNavigation.ts +3 -2
  38. package/src/components/{FooterNavigation.vue → FooterNavigation/FooterNavigation.vue} +4 -2
  39. package/src/components/Image/Image.vue +17 -0
  40. package/src/components/{types → LogoCollectionModule}/LogoCollectionModule.ts +3 -3
  41. package/src/components/{LogoCollectionModule.vue → LogoCollectionModule/LogoCollectionModule.vue} +13 -3
  42. package/src/components/{types → NavigationElement}/NavigationElement.ts +6 -3
  43. package/src/components/{NavigationElement.vue → NavigationElement/NavigationElement.vue} +18 -9
  44. package/src/components/{types → PrimaryNavigation}/PrimaryNavigation.ts +2 -2
  45. package/src/components/{PrimaryNavigation.vue → PrimaryNavigation/PrimaryNavigation.vue} +7 -4
  46. package/src/components/{types → SplitModule}/SplitModule.ts +6 -5
  47. package/src/components/SplitModule/SplitModule.vue +57 -0
  48. package/src/components/TestimonialModule/TestimonialModule.ts +22 -0
  49. package/src/components/TestimonialModule/TestimonialModule.vue +51 -0
  50. package/src/components/TileCollectionModule/TileCollectionModule.ts +18 -0
  51. package/src/components/TileCollectionModule/TileCollectionModule.vue +58 -0
  52. package/src/components/TileContent/TileContent.ts +60 -0
  53. package/src/components/{TileContent.vue → TileContent/TileContent.vue} +25 -14
  54. package/src/components/TileContent/TileContentIconTile.vue +83 -0
  55. package/src/components/TileContent/TileContentImageStackedAnimatedTile.vue +121 -0
  56. package/src/components/TileContent/TileContentImageTile.vue +80 -0
  57. package/src/components/TileContent/TileContentTextTile.vue +63 -0
  58. package/src/components/TileContent/TileContentVideoTile.vue +81 -0
  59. package/src/components/{types → Video}/Video.ts +1 -1
  60. package/src/components/{Video.vue → Video/Video.vue} +1 -1
  61. package/src/assets/usercard.jpg +0 -0
  62. package/src/assets/vue.svg +0 -1
  63. package/src/components/Accordion.vue +0 -33
  64. package/src/components/CTA.vue +0 -39
  65. package/src/components/ContentAndImage.vue +0 -34
  66. package/src/components/ContentMediaModule.vue +0 -50
  67. package/src/components/ContentModule.vue +0 -51
  68. package/src/components/IconChevron.vue +0 -107
  69. package/src/components/Image.vue +0 -15
  70. package/src/components/LogoContainerModule.vue +0 -30
  71. package/src/components/SplitModule.vue +0 -42
  72. package/src/components/Testimonial.vue +0 -48
  73. package/src/components/TestimonialModule.vue +0 -48
  74. package/src/components/TileCollection.vue +0 -37
  75. package/src/components/TileCollectionModule.vue +0 -45
  76. package/src/components/types/AccordionItem.ts +0 -19
  77. package/src/components/types/CTA.ts +0 -13
  78. package/src/components/types/CarouselModule.ts +0 -21
  79. package/src/components/types/ContainerCollectionModule.ts +0 -12
  80. package/src/components/types/ContainerModule.ts +0 -35
  81. package/src/components/types/ContentAndImage.ts +0 -14
  82. package/src/components/types/ContentMediaModule.ts +0 -14
  83. package/src/components/types/ContentModule.ts +0 -21
  84. package/src/components/types/LogoContainerModule.ts +0 -12
  85. package/src/components/types/Testimonial.ts +0 -17
  86. package/src/components/types/TileCollection.ts +0 -14
  87. package/src/components/types/TileContent.ts +0 -34
  88. package/src/components/types/index.ts +0 -10
  89. package/src/presets/aura/accordion/index.js +0 -81
  90. package/src/presets/aura/autocomplete/index.js +0 -280
  91. package/src/presets/aura/avatar/index.js +0 -46
  92. package/src/presets/aura/badge/index.js +0 -43
  93. package/src/presets/aura/badgedirective/index.js +0 -49
  94. package/src/presets/aura/blockui/index.js +0 -8
  95. package/src/presets/aura/breadcrumb/index.js +0 -63
  96. package/src/presets/aura/button/index.js +0 -511
  97. package/src/presets/aura/calendar/index.js +0 -702
  98. package/src/presets/aura/card/index.js +0 -53
  99. package/src/presets/aura/carousel/index.js +0 -160
  100. package/src/presets/aura/cascadeselect/index.js +0 -220
  101. package/src/presets/aura/checkbox/index.js +0 -107
  102. package/src/presets/aura/chip/index.js +0 -45
  103. package/src/presets/aura/chips/index.js +0 -126
  104. package/src/presets/aura/colorpicker/index.js +0 -132
  105. package/src/presets/aura/confirmpopup/index.js +0 -111
  106. package/src/presets/aura/contextmenu/index.js +0 -132
  107. package/src/presets/aura/datatable/index.js +0 -1290
  108. package/src/presets/aura/dataview/index.js +0 -40
  109. package/src/presets/aura/deferred/index.js +0 -3
  110. package/src/presets/aura/dialog/index.js +0 -250
  111. package/src/presets/aura/divider/index.js +0 -72
  112. package/src/presets/aura/dock/index.js +0 -97
  113. package/src/presets/aura/dropdown/index.js +0 -297
  114. package/src/presets/aura/fieldset/index.js +0 -95
  115. package/src/presets/aura/fileupload/index.js +0 -175
  116. package/src/presets/aura/floatlabel/index.js +0 -26
  117. package/src/presets/aura/galleria/index.js +0 -353
  118. package/src/presets/aura/global.js +0 -90
  119. package/src/presets/aura/iconfield/index.js +0 -22
  120. package/src/presets/aura/image/index.js +0 -206
  121. package/src/presets/aura/index.js +0 -181
  122. package/src/presets/aura/inlinemessage/index.js +0 -46
  123. package/src/presets/aura/inplace/index.js +0 -27
  124. package/src/presets/aura/inputgroup/index.js +0 -5
  125. package/src/presets/aura/inputgroupaddon/index.js +0 -28
  126. package/src/presets/aura/inputmask/index.js +0 -47
  127. package/src/presets/aura/inputnumber/index.js +0 -293
  128. package/src/presets/aura/inputotp/index.js +0 -69
  129. package/src/presets/aura/inputswitch/index.js +0 -94
  130. package/src/presets/aura/inputtext/index.js +0 -63
  131. package/src/presets/aura/knob/index.js +0 -47
  132. package/src/presets/aura/listbox/index.js +0 -158
  133. package/src/presets/aura/megamenu/index.js +0 -206
  134. package/src/presets/aura/menu/index.js +0 -122
  135. package/src/presets/aura/menubar/index.js +0 -184
  136. package/src/presets/aura/message/index.js +0 -112
  137. package/src/presets/aura/metergroup/index.js +0 -110
  138. package/src/presets/aura/multiselect/index.js +0 -579
  139. package/src/presets/aura/orderlist/index.js +0 -281
  140. package/src/presets/aura/organizationchart/index.js +0 -142
  141. package/src/presets/aura/overlaypanel/index.js +0 -34
  142. package/src/presets/aura/paginator/index.js +0 -566
  143. package/src/presets/aura/panel/index.js +0 -102
  144. package/src/presets/aura/panelmenu/index.js +0 -130
  145. package/src/presets/aura/password/index.js +0 -143
  146. package/src/presets/aura/picklist/index.js +0 -718
  147. package/src/presets/aura/progressbar/index.js +0 -64
  148. package/src/presets/aura/progressspinner/index.js +0 -51
  149. package/src/presets/aura/radiobutton/index.js +0 -121
  150. package/src/presets/aura/rating/index.js +0 -95
  151. package/src/presets/aura/ripple/index.js +0 -6
  152. package/src/presets/aura/scrollpanel/index.js +0 -77
  153. package/src/presets/aura/scrolltop/index.js +0 -45
  154. package/src/presets/aura/selectbutton/index.js +0 -66
  155. package/src/presets/aura/sidebar/index.js +0 -160
  156. package/src/presets/aura/skeleton/index.js +0 -19
  157. package/src/presets/aura/slider/index.js +0 -144
  158. package/src/presets/aura/speeddial/index.js +0 -579
  159. package/src/presets/aura/splitbutton/index.js +0 -1185
  160. package/src/presets/aura/splitter/index.js +0 -71
  161. package/src/presets/aura/stepper/index.js +0 -183
  162. package/src/presets/aura/steps/index.js +0 -117
  163. package/src/presets/aura/tabmenu/index.js +0 -75
  164. package/src/presets/aura/tabview/index.js +0 -162
  165. package/src/presets/aura/tag/index.js +0 -44
  166. package/src/presets/aura/terminal/index.js +0 -60
  167. package/src/presets/aura/textarea/index.js +0 -49
  168. package/src/presets/aura/tieredmenu/index.js +0 -125
  169. package/src/presets/aura/timeline/index.js +0 -114
  170. package/src/presets/aura/toast/index.js +0 -151
  171. package/src/presets/aura/togglebutton/index.js +0 -98
  172. package/src/presets/aura/toolbar/index.js +0 -28
  173. package/src/presets/aura/tooltip/index.js +0 -73
  174. package/src/presets/aura/tree/index.js +0 -294
  175. package/src/presets/aura/treeselect/index.js +0 -404
  176. package/src/presets/aura/treetable/index.js +0 -513
  177. package/src/presets/aura/tristatecheckbox/index.js +0 -121
  178. /package/src/components/{types → Image}/Image.ts +0 -0
@@ -1,40 +0,0 @@
1
- export default {
2
- content: {
3
- class: [
4
- // Spacing
5
- 'p-0',
6
-
7
- // Shape
8
- 'border-0',
9
-
10
- // Color
11
- 'text-surface-700 dark:text-white/80',
12
- 'bg-surface-0 dark:bg-surface-900',
13
- ],
14
- },
15
- grid: {
16
- class: [
17
- // flex
18
- 'flex flex-wrap',
19
-
20
- // Spacing
21
- 'ml-0 mr-0 mt-0',
22
-
23
- // Color
24
- 'bg-surface-0 dark:bg-surface-900',
25
- ],
26
- },
27
- header: {
28
- class: [
29
- 'font-semibold',
30
-
31
- // Spacing
32
- 'py-3 px-4',
33
-
34
- // Color
35
- 'text-surface-800 dark:text-white/80',
36
- 'bg-surface-00 dark:bg-surface-900',
37
- 'border-b border-surface-200 dark:border-surface-700',
38
- ],
39
- },
40
- }
@@ -1,3 +0,0 @@
1
- export default {
2
- root: {},
3
- }
@@ -1,250 +0,0 @@
1
- export default {
2
- root: ({ state }) => ({
3
- class: [
4
- // Shape
5
- 'rounded-lg',
6
- 'shadow-lg',
7
- 'border-0',
8
-
9
- // Size
10
- 'max-h-[90vh]',
11
- 'w-[50vw]',
12
- 'm-0',
13
-
14
- // Color
15
- 'bg-surface-0 dark:bg-surface-900',
16
- '[&:last-child]:border-b',
17
- 'border-surface-200 dark:border-surface-700',
18
-
19
- // Transitions
20
- 'transform',
21
- 'scale-100',
22
-
23
- // Maximized State
24
- {
25
- 'transition-none': state.maximized,
26
- 'transform-none': state.maximized,
27
- '!w-screen': state.maximized,
28
- '!h-screen': state.maximized,
29
- '!max-h-full': state.maximized,
30
- '!top-0': state.maximized,
31
- '!left-0': state.maximized,
32
- },
33
- ],
34
- }),
35
- header: {
36
- class: [
37
- // Flexbox and Alignment
38
- 'flex items-center justify-between',
39
- 'shrink-0',
40
-
41
- // Spacing
42
- 'p-6',
43
-
44
- // Shape
45
- 'rounded-tl-lg',
46
- 'rounded-tr-lg',
47
-
48
- // Colors
49
- 'text-surface-700 dark:text-surface-0/80',
50
- 'border border-b-0',
51
- 'border-surface-200 dark:border-surface-700',
52
- ],
53
- },
54
- title: {
55
- class: ['font-semibold text-xl leading-[normal]'],
56
- },
57
- icons: {
58
- class: ['flex items-center'],
59
- },
60
- closeButton: {
61
- class: [
62
- 'relative',
63
-
64
- // Flexbox and Alignment
65
- 'flex items-center justify-center',
66
-
67
- // Size and Spacing
68
- 'mr-2',
69
- 'last:mr-0',
70
- 'w-7 h-7',
71
-
72
- // Shape
73
- 'border-0',
74
- 'rounded-full',
75
-
76
- // Colors
77
- 'text-surface-500',
78
- 'bg-transparent',
79
-
80
- // Transitions
81
- 'transition duration-200 ease-in-out',
82
-
83
- // States
84
- 'hover:text-surface-700 dark:hover:text-white/80',
85
- 'hover:bg-surface-100 dark:hover:bg-[rgba(255,255,255,0.03)]',
86
- 'focus:outline-none focus:outline-offset-0 focus:ring-1',
87
- 'focus:ring-primary-500 dark:focus:ring-primary-400',
88
-
89
- // Misc
90
- 'overflow-hidden',
91
- ],
92
- },
93
- maximizablebutton: {
94
- class: [
95
- 'relative',
96
-
97
- // Flexbox and Alignment
98
- 'flex items-center justify-center',
99
-
100
- // Size and Spacing
101
- 'mr-2',
102
- 'last:mr-0',
103
- 'w-7 h-7',
104
-
105
- // Shape
106
- 'border-0',
107
- 'rounded-full',
108
-
109
- // Colors
110
- 'text-surface-500',
111
- 'bg-transparent',
112
-
113
- // Transitions
114
- 'transition duration-200 ease-in-out',
115
-
116
- // States
117
- 'hover:text-surface-700 dark:hover:text-white/80',
118
- 'hover:bg-surface-100 dark:hover:bg-[rgba(255,255,255,0.03)]',
119
- 'focus:outline-none focus:outline-offset-0 focus:ring-1',
120
- 'focus:ring-primary-500 dark:focus:ring-primary-400',
121
-
122
- // Misc
123
- 'overflow-hidden',
124
- ],
125
- },
126
- closeButtonIcon: {
127
- class: [
128
- // Display
129
- 'inline-block',
130
-
131
- // Size
132
- 'w-4',
133
- 'h-4',
134
- ],
135
- },
136
- maximizableicon: {
137
- class: [
138
- // Display
139
- 'inline-block',
140
-
141
- // Size
142
- 'w-4',
143
- 'h-4',
144
- ],
145
- },
146
- content: ({ state, instance }) => ({
147
- class: [
148
- // Spacing
149
- 'px-6',
150
- 'pb-6',
151
- 'pt-0',
152
-
153
- // Shape
154
- {
155
- grow: state.maximized,
156
- 'rounded-bl-lg': !instance.$slots.footer,
157
- 'rounded-br-lg': !instance.$slots.footer,
158
- },
159
-
160
- // Colors
161
- 'text-surface-700 dark:text-surface-0/80',
162
- 'border border-t-0 border-b-0',
163
- 'border-surface-200 dark:border-surface-700',
164
-
165
- // Misc
166
- 'overflow-y-auto',
167
- ],
168
- }),
169
- footer: {
170
- class: [
171
- // Flexbox and Alignment
172
- 'flex items-center justify-end',
173
- 'shrink-0',
174
- 'text-right',
175
- 'gap-2',
176
-
177
- // Spacing
178
- 'px-6',
179
- 'pb-6',
180
-
181
- // Shape
182
- 'border-t-0',
183
- 'rounded-b-lg',
184
-
185
- // Colors
186
- 'bg-surface-0 dark:bg-surface-900',
187
- 'text-surface-700 dark:text-surface-0/80',
188
- 'border border-t-0 border-b-0',
189
- 'border-surface-200 dark:border-surface-700',
190
- ],
191
- },
192
- mask: ({ props }) => ({
193
- class: [
194
- // Transitions
195
- 'transition-all',
196
- 'duration-300',
197
- { 'p-5': !props.position == 'full' },
198
-
199
- // Background and Effects
200
- { 'has-[.mask-active]:bg-transparent bg-black/40': props.modal },
201
- ],
202
- }),
203
- transition: ({ props }) => {
204
- return props.position === 'top'
205
- ? {
206
- enterFromClass:
207
- 'opacity-0 scale-75 translate-x-0 -translate-y-full translate-z-0 mask-active',
208
- enterActiveClass: 'transition-all duration-200 ease-out',
209
- leaveActiveClass: 'transition-all duration-200 ease-out',
210
- leaveToClass:
211
- 'opacity-0 scale-75 translate-x-0 -translate-y-full translate-z-0 mask-active',
212
- }
213
- : props.position === 'bottom'
214
- ? {
215
- enterFromClass: 'opacity-0 scale-75 translate-y-full mask-active',
216
- enterActiveClass: 'transition-all duration-200 ease-out',
217
- leaveActiveClass: 'transition-all duration-200 ease-out',
218
- leaveToClass:
219
- 'opacity-0 scale-75 translate-x-0 translate-y-full translate-z-0 mask-active',
220
- }
221
- : props.position === 'left' ||
222
- props.position === 'topleft' ||
223
- props.position === 'bottomleft'
224
- ? {
225
- enterFromClass:
226
- 'opacity-0 scale-75 -translate-x-full translate-y-0 translate-z-0 mask-active',
227
- enterActiveClass: 'transition-all duration-200 ease-out',
228
- leaveActiveClass: 'transition-all duration-200 ease-out',
229
- leaveToClass:
230
- 'opacity-0 scale-75 -translate-x-full translate-y-0 translate-z-0 mask-active',
231
- }
232
- : props.position === 'right' ||
233
- props.position === 'topright' ||
234
- props.position === 'bottomright'
235
- ? {
236
- enterFromClass:
237
- 'opacity-0 scale-75 translate-x-full translate-y-0 translate-z-0 mask-active',
238
- enterActiveClass: 'transition-all duration-200 ease-out',
239
- leaveActiveClass: 'transition-all duration-200 ease-out',
240
- leaveToClass:
241
- 'opacity-0 scale-75 translate-x-full translate-y-0 translate-z-0 mask-active',
242
- }
243
- : {
244
- enterFromClass: 'opacity-0 scale-75 mask-active',
245
- enterActiveClass: 'transition-all duration-200 ease-out',
246
- leaveActiveClass: 'transition-all duration-200 ease-out',
247
- leaveToClass: 'opacity-0 scale-75 mask-active',
248
- }
249
- },
250
- }
@@ -1,72 +0,0 @@
1
- export default {
2
- root: ({ props }) => ({
3
- class: [
4
- // Flex and Position
5
- 'flex relative',
6
- { 'justify-center': props.layout == 'vertical' },
7
- { 'items-center': props.layout == 'vertical' },
8
- {
9
- 'justify-start': props?.align == 'left' && props.layout == 'horizontal',
10
- 'justify-center':
11
- props?.align == 'center' && props.layout == 'horizontal',
12
- 'justify-end': props?.align == 'right' && props.layout == 'horizontal',
13
- 'items-center': props?.align == 'top' && props.layout == 'vertical',
14
- 'items-start': props?.align == 'center' && props.layout == 'vertical',
15
- 'items-end': props?.align == 'bottom' && props.layout == 'vertical',
16
- },
17
-
18
- // Spacing
19
- {
20
- 'my-5 mx-0 py-0 px-5': props.layout == 'horizontal',
21
- 'mx-4 md:mx-5 py-5': props.layout == 'vertical',
22
- },
23
-
24
- // Size
25
- {
26
- 'w-full': props.layout == 'horizontal',
27
- 'min-h-full': props.layout == 'vertical',
28
- },
29
-
30
- // Before: Line
31
- 'before:block',
32
-
33
- // Position
34
- {
35
- 'before:absolute before:left-0 before:top-1/2':
36
- props.layout == 'horizontal',
37
- 'before:absolute before:left-1/2 before:top-0 before:transform before:-translate-x-1/2':
38
- props.layout == 'vertical',
39
- },
40
-
41
- // Size
42
- {
43
- 'before:w-full': props.layout == 'horizontal',
44
- 'before:min-h-full': props.layout == 'vertical',
45
- },
46
-
47
- // Shape
48
- {
49
- 'before:border-solid': props.type == 'solid',
50
- 'before:border-dotted': props.type == 'dotted',
51
- 'before:border-dashed': props.type == 'dashed',
52
- },
53
-
54
- // Color
55
- {
56
- 'before:border-t before:border-surface-200 before:dark:border-surface-600':
57
- props.layout == 'horizontal',
58
- 'before:border-l before:border-surface-200 before:dark:border-surface-600':
59
- props.layout == 'vertical',
60
- },
61
- ],
62
- }),
63
- content: {
64
- class: [
65
- // Space and Position
66
- 'px-1 z-10',
67
-
68
- // Color
69
- 'bg-surface-0 dark:bg-surface-800',
70
- ],
71
- },
72
- }
@@ -1,97 +0,0 @@
1
- export default {
2
- root: ({ props }) => ({
3
- class: [
4
- // Positioning
5
- 'absolute z-1',
6
- {
7
- 'left-0 bottom-0 w-full': props.position == 'bottom',
8
- 'left-0 top-0 w-full': props.position == 'top',
9
- 'left-0 top-0 h-full': props.position == 'left',
10
- 'right-0 top-0 h-full': props.position == 'right',
11
- },
12
-
13
- // Flexbox & Alignment
14
- 'flex justify-center items-center',
15
-
16
- // Interactivity
17
- 'pointer-events-none',
18
- ],
19
- }),
20
- container: {
21
- class: [
22
- // Flexbox
23
- 'flex',
24
-
25
- // Shape & Border
26
- 'rounded-md',
27
-
28
- // Color
29
- 'bg-surface-0/10 dark:bg-surface-900/20 border border-surface-0/20',
30
- 'backdrop-blur-sm',
31
-
32
- // Spacing
33
- 'p-2',
34
-
35
- // Misc
36
- 'pointer-events-auto',
37
- ],
38
- },
39
- menu: ({ props }) => ({
40
- class: [
41
- // Flexbox & Alignment
42
- 'flex items-center justify-center',
43
- {
44
- 'flex-col': props.position == 'left' || props.position == 'right',
45
- },
46
-
47
- // List Style
48
- 'm-0 p-0 list-none',
49
-
50
- // Shape
51
- 'outline-none',
52
- ],
53
- }),
54
- menuitem: ({ props, context, instance }) => ({
55
- class: [
56
- // Spacing & Shape
57
- 'p-2 rounded-md',
58
-
59
- // Conditional Scaling
60
- {
61
- 'hover:scale-150': instance.currentIndex === context.index,
62
- 'scale-125':
63
- instance.currentIndex - 1 === context.index ||
64
- instance.currentIndex + 1 === context.index,
65
- 'scale-110':
66
- instance.currentIndex - 2 === context.index ||
67
- instance.currentIndex + 2 === context.index,
68
- },
69
-
70
- // Positioning & Hover States
71
- {
72
- 'origin-bottom hover:mx-6': props.position == 'bottom',
73
- 'origin-top hover:mx-6': props.position == 'top',
74
- 'origin-left hover:my-6': props.position == 'left',
75
- 'origin-right hover:my-6': props.position == 'right',
76
- },
77
-
78
- // Transitions & Transform
79
- 'transition-all duration-200 ease-cubic-bezier-will-change-transform transform',
80
- ],
81
- }),
82
- action: {
83
- class: [
84
- // Flexbox & Alignment
85
- 'flex flex-col items-center justify-center',
86
-
87
- // Position
88
- 'relative',
89
-
90
- // Size
91
- 'w-16 h-16',
92
-
93
- // Misc
94
- 'cursor-default overflow-hidden',
95
- ],
96
- },
97
- }