@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,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
- }