tsv2-library 0.0.6 → 0.0.7

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 (153) hide show
  1. package/package.json +3 -2
  2. package/src/presets/lara/accordion/index.js +86 -0
  3. package/src/presets/lara/autocomplete/index.js +272 -0
  4. package/src/presets/lara/avatar/index.js +40 -0
  5. package/src/presets/lara/avatargroup/index.js +5 -0
  6. package/src/presets/lara/badge/index.js +44 -0
  7. package/src/presets/lara/badgedirective/index.js +49 -0
  8. package/src/presets/lara/breadcrumb/index.js +64 -0
  9. package/src/presets/lara/button/index.js +470 -0
  10. package/src/presets/lara/calendar/index.js +676 -0
  11. package/src/presets/lara/card/index.js +37 -0
  12. package/src/presets/lara/carousel/index.js +135 -0
  13. package/src/presets/lara/cascadeselect/index.js +222 -0
  14. package/src/presets/lara/checkbox/index.js +103 -0
  15. package/src/presets/lara/chip/index.js +45 -0
  16. package/src/presets/lara/chips/index.js +111 -0
  17. package/src/presets/lara/colorpicker/index.js +126 -0
  18. package/src/presets/lara/confirmpopup/index.js +107 -0
  19. package/src/presets/lara/contextmenu/index.js +127 -0
  20. package/src/presets/lara/datatable/index.js +1289 -0
  21. package/src/presets/lara/dataview/index.js +40 -0
  22. package/src/presets/lara/dataviewlayoutoptions/index.js +66 -0
  23. package/src/presets/lara/dialog/index.js +249 -0
  24. package/src/presets/lara/divider/index.js +72 -0
  25. package/src/presets/lara/dock/index.js +97 -0
  26. package/src/presets/lara/dropdown/index.js +294 -0
  27. package/src/presets/lara/fieldset/index.js +98 -0
  28. package/src/presets/lara/global.js +90 -0
  29. package/src/presets/lara/index.js +173 -0
  30. package/src/presets/lara/inlinemessage/index.js +36 -0
  31. package/src/presets/lara/inputgroup/index.js +5 -0
  32. package/src/presets/lara/inputgroupaddon/index.js +28 -0
  33. package/src/presets/lara/inputmask/index.js +32 -0
  34. package/src/presets/lara/inputnumber/index.js +243 -0
  35. package/src/presets/lara/inputswitch/index.js +88 -0
  36. package/src/presets/lara/inputtext/index.js +51 -0
  37. package/src/presets/lara/knob/index.js +47 -0
  38. package/src/presets/lara/listbox/index.js +166 -0
  39. package/src/presets/lara/megamenu/index.js +207 -0
  40. package/src/presets/lara/menu/index.js +98 -0
  41. package/src/presets/lara/menubar/index.js +181 -0
  42. package/src/presets/lara/message/index.js +87 -0
  43. package/src/presets/lara/multiselect/index.js +583 -0
  44. package/src/presets/lara/orderlist/index.js +266 -0
  45. package/src/presets/lara/organizationchart/index.js +142 -0
  46. package/src/presets/lara/overlaypanel/index.js +35 -0
  47. package/src/presets/lara/paginator/index.js +584 -0
  48. package/src/presets/lara/panel/index.js +93 -0
  49. package/src/presets/lara/panelmenu/index.js +139 -0
  50. package/src/presets/lara/password/index.js +80 -0
  51. package/src/presets/lara/picklist/index.js +659 -0
  52. package/src/presets/lara/progressbar/index.js +61 -0
  53. package/src/presets/lara/radiobutton/index.js +112 -0
  54. package/src/presets/lara/rating/index.js +95 -0
  55. package/src/presets/lara/ripple/index.js +6 -0
  56. package/src/presets/lara/scrollpanel/index.js +77 -0
  57. package/src/presets/lara/scrolltop/index.js +45 -0
  58. package/src/presets/lara/selectbutton/index.js +56 -0
  59. package/src/presets/lara/sidebar/index.js +163 -0
  60. package/src/presets/lara/skeleton/index.js +19 -0
  61. package/src/presets/lara/slider/index.js +149 -0
  62. package/src/presets/lara/splitbutton/index.js +954 -0
  63. package/src/presets/lara/steps/index.js +115 -0
  64. package/src/presets/lara/tabmenu/index.js +82 -0
  65. package/src/presets/lara/tabview/index.js +166 -0
  66. package/src/presets/lara/tag/index.js +37 -0
  67. package/src/presets/lara/terminal/index.js +60 -0
  68. package/src/presets/lara/textarea/index.js +35 -0
  69. package/src/presets/lara/tieredmenu/index.js +125 -0
  70. package/src/presets/lara/toast/index.js +107 -0
  71. package/src/presets/lara/togglebutton/index.js +96 -0
  72. package/src/presets/lara/toolbar/index.js +28 -0
  73. package/src/presets/lara/tooltip/index.js +73 -0
  74. package/src/presets/lara/tree/index.js +278 -0
  75. package/src/presets/lara/treeselect/index.js +377 -0
  76. package/src/presets/lara/treetable/index.js +506 -0
  77. package/src/presets/lara/tristatecheckbox/index.js +109 -0
  78. package/src/presets/wind/accordion/index.js +75 -0
  79. package/src/presets/wind/autocomplete/index.js +280 -0
  80. package/src/presets/wind/avatar/index.js +42 -0
  81. package/src/presets/wind/avatargroup/index.js +5 -0
  82. package/src/presets/wind/badge/index.js +43 -0
  83. package/src/presets/wind/badgedirective/index.js +50 -0
  84. package/src/presets/wind/breadcrumb/index.js +45 -0
  85. package/src/presets/wind/button/index.js +467 -0
  86. package/src/presets/wind/calendar/index.js +655 -0
  87. package/src/presets/wind/card/index.js +40 -0
  88. package/src/presets/wind/carousel/index.js +135 -0
  89. package/src/presets/wind/cascadeselect/index.js +219 -0
  90. package/src/presets/wind/checkbox/index.js +109 -0
  91. package/src/presets/wind/chip/index.js +45 -0
  92. package/src/presets/wind/chips/index.js +112 -0
  93. package/src/presets/wind/colorpicker/index.js +134 -0
  94. package/src/presets/wind/confirmpopup/index.js +123 -0
  95. package/src/presets/wind/contextmenu/index.js +125 -0
  96. package/src/presets/wind/datatable/index.js +1112 -0
  97. package/src/presets/wind/dataview/index.js +40 -0
  98. package/src/presets/wind/dataviewlayoutoptions/index.js +64 -0
  99. package/src/presets/wind/dialog/index.js +251 -0
  100. package/src/presets/wind/divider/index.js +72 -0
  101. package/src/presets/wind/dock/index.js +97 -0
  102. package/src/presets/wind/dropdown/index.js +281 -0
  103. package/src/presets/wind/fieldset/index.js +99 -0
  104. package/src/presets/wind/global.js +77 -0
  105. package/src/presets/wind/index.js +173 -0
  106. package/src/presets/wind/inlinemessage/index.js +29 -0
  107. package/src/presets/wind/inputgroup/index.js +5 -0
  108. package/src/presets/wind/inputgroupaddon/index.js +28 -0
  109. package/src/presets/wind/inputmask/index.js +30 -0
  110. package/src/presets/wind/inputnumber/index.js +236 -0
  111. package/src/presets/wind/inputswitch/index.js +101 -0
  112. package/src/presets/wind/inputtext/index.js +42 -0
  113. package/src/presets/wind/knob/index.js +47 -0
  114. package/src/presets/wind/listbox/index.js +156 -0
  115. package/src/presets/wind/megamenu/index.js +218 -0
  116. package/src/presets/wind/menu/index.js +111 -0
  117. package/src/presets/wind/menubar/index.js +188 -0
  118. package/src/presets/wind/message/index.js +87 -0
  119. package/src/presets/wind/multiselect/index.js +613 -0
  120. package/src/presets/wind/orderlist/index.js +275 -0
  121. package/src/presets/wind/organizationchart/index.js +143 -0
  122. package/src/presets/wind/overlaypanel/index.js +36 -0
  123. package/src/presets/wind/paginator/index.js +593 -0
  124. package/src/presets/wind/panel/index.js +95 -0
  125. package/src/presets/wind/panelmenu/index.js +136 -0
  126. package/src/presets/wind/password/index.js +81 -0
  127. package/src/presets/wind/picklist/index.js +684 -0
  128. package/src/presets/wind/progressbar/index.js +68 -0
  129. package/src/presets/wind/radiobutton/index.js +87 -0
  130. package/src/presets/wind/rating/index.js +86 -0
  131. package/src/presets/wind/ripple/index.js +6 -0
  132. package/src/presets/wind/scrollpanel/index.js +77 -0
  133. package/src/presets/wind/scrolltop/index.js +45 -0
  134. package/src/presets/wind/selectbutton/index.js +54 -0
  135. package/src/presets/wind/sidebar/index.js +165 -0
  136. package/src/presets/wind/skeleton/index.js +19 -0
  137. package/src/presets/wind/slider/index.js +135 -0
  138. package/src/presets/wind/splitbutton/index.js +957 -0
  139. package/src/presets/wind/steps/index.js +132 -0
  140. package/src/presets/wind/tabmenu/index.js +84 -0
  141. package/src/presets/wind/tabview/index.js +168 -0
  142. package/src/presets/wind/tag/index.js +37 -0
  143. package/src/presets/wind/terminal/index.js +60 -0
  144. package/src/presets/wind/textarea/index.js +36 -0
  145. package/src/presets/wind/tieredmenu/index.js +121 -0
  146. package/src/presets/wind/toast/index.js +101 -0
  147. package/src/presets/wind/togglebutton/index.js +87 -0
  148. package/src/presets/wind/toolbar/index.js +30 -0
  149. package/src/presets/wind/tooltip/index.js +43 -0
  150. package/src/presets/wind/tree/index.js +297 -0
  151. package/src/presets/wind/treeselect/index.js +395 -0
  152. package/src/presets/wind/treetable/index.js +502 -0
  153. package/src/presets/wind/tristatecheckbox/index.js +115 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tsv2-library",
3
3
  "private": false,
4
- "version": "0.0.6",
4
+ "version": "0.0.7",
5
5
  "author": "fixedassetv2-fe",
6
6
  "license": "ISC",
7
7
  "homepage": "https://github.com/fixedassetv2-fe/tsv2-library#readme",
@@ -14,7 +14,8 @@
14
14
  },
15
15
  "type": "module",
16
16
  "files": [
17
- "dist"
17
+ "dist",
18
+ "src/presets"
18
19
  ],
19
20
  "scripts": {
20
21
  "dev": "vite",
@@ -0,0 +1,86 @@
1
+ export default {
2
+ accordiontab: {
3
+ root: {
4
+ class: 'mb-1',
5
+ },
6
+ header: ({ props }) => ({
7
+ class: [
8
+ // State
9
+ {
10
+ 'select-none pointer-events-none cursor-default opacity-60':
11
+ props?.disabled,
12
+ },
13
+ ],
14
+ }),
15
+ headerAction: ({ context }) => ({
16
+ class: [
17
+ //Font
18
+ 'font-bold',
19
+ 'leading-none',
20
+
21
+ // Alignments
22
+ 'flex items-center',
23
+ 'relative',
24
+
25
+ // Sizing
26
+ 'p-5',
27
+
28
+ // Shape
29
+ 'rounded-t-md',
30
+ {
31
+ 'rounded-br-md rounded-bl-md': !context.active,
32
+ 'rounded-br-0 rounded-bl-0': context.active,
33
+ },
34
+
35
+ // Color
36
+ 'border border-surface-200 dark:border-surface-700',
37
+ 'bg-surface-50 dark:bg-surface-800',
38
+ 'text-surface-600 dark:text-surface-0/80',
39
+ { 'text-surface-900': context.active },
40
+
41
+ // Transition
42
+ 'transition duration-200 ease-in-out',
43
+ 'transition-shadow duration-200',
44
+
45
+ // States
46
+ 'hover:bg-surface-100 dark:hover:bg-surface-700/40',
47
+ 'hover:text-surface-900',
48
+ 'focus:outline-none focus:outline-offset-0 focus-visible:ring focus-visible:ring-primary-400/50 ring-inset dark:focus-visible:ring-primary-300/50', // Focus
49
+
50
+ // Misc
51
+ 'cursor-pointer no-underline select-none',
52
+ ],
53
+ }),
54
+ headerIcon: {
55
+ class: 'inline-block mr-2',
56
+ },
57
+ headerTitle: {
58
+ class: 'leading-none',
59
+ },
60
+ content: {
61
+ class: [
62
+ // Spacing
63
+ 'p-5',
64
+
65
+ //Shape
66
+ 'rounded-tl-none rounded-tr-none rounded-br-lg rounded-bl-lg',
67
+ 'border-t-0',
68
+
69
+ // Color
70
+ 'bg-surface-0 dark:bg-surface-800',
71
+ 'border border-surface-200 dark:border-surface-700',
72
+ 'text-surface-700 dark:text-surface-0/80',
73
+ ],
74
+ },
75
+ transition: {
76
+ enterFromClass: 'max-h-0',
77
+ enterActiveClass:
78
+ 'overflow-hidden transition-[max-height] duration-1000 ease-[cubic-bezier(0.42,0,0.58,1)]',
79
+ enterToClass: 'max-h-[1000px]',
80
+ leaveFromClass: 'max-h-[1000px]',
81
+ leaveActiveClass:
82
+ 'overflow-hidden transition-[max-height] duration-[450ms] ease-[cubic-bezier(0,1,0,1)]',
83
+ leaveToClass: 'max-h-0',
84
+ },
85
+ },
86
+ };
@@ -0,0 +1,272 @@
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ 'relative',
5
+
6
+ // Flex
7
+ 'inline-flex',
8
+
9
+ // Size
10
+ { 'w-full': props.multiple },
11
+
12
+ // Color
13
+ 'text-surface-900 dark:text-surface-0',
14
+
15
+ //States
16
+ {
17
+ 'opacity-60 select-none pointer-events-none cursor-default':
18
+ props.disabled,
19
+ },
20
+ ],
21
+ }),
22
+ container: ({ props, state }) => ({
23
+ class: [
24
+ // Font
25
+ 'font-sans text-base leading-none',
26
+
27
+ // Flex
28
+ 'flex items-center flex-wrap',
29
+ 'gap-2',
30
+
31
+ // Spacing
32
+ 'm-0 list-none',
33
+ 'px-3 py-1.5',
34
+
35
+ // Size
36
+ 'w-full',
37
+ 'min-h-[2.877rem]',
38
+
39
+ // Shape
40
+ 'appearance-none rounded-md',
41
+
42
+ // Color
43
+ 'text-surface-700 dark:text-white/80',
44
+ 'placeholder:text-surface-400 dark:placeholder:text-surface-500',
45
+ 'bg-surface-0 dark:bg-surface-900',
46
+ 'border border-surface-300 dark:border-surface-700',
47
+
48
+ // States
49
+ 'hover:border-primary-500 dark:hover:border-primary-400',
50
+ 'focus:outline-none focus:outline-offset-0',
51
+ { 'ring ring-primary-400/50 dark:ring-primary-300/50': state.focused },
52
+ { 'ring ring-primary-400/50 dark:ring-primary-300/50': state.hovered },
53
+ // Transition
54
+ 'transition duration-200 ease-in-out',
55
+
56
+ // Misc
57
+ 'cursor-text overflow-hidden',
58
+ ],
59
+ }),
60
+ inputtoken: {
61
+ class: ['py-1.5 px-0', 'inline-flex flex-auto'],
62
+ },
63
+ input: ({ props }) => ({
64
+ class: [
65
+ // Font
66
+ 'font-sans text-base leading-none',
67
+
68
+ // Shape
69
+ 'appearance-none rounded-md',
70
+ { 'rounded-tr-none rounded-br-none': props.dropdown },
71
+ { 'outline-none shadow-none rounded-none': props.multiple },
72
+
73
+ // Size
74
+ { 'w-full': props.multiple },
75
+
76
+ // Spacing
77
+ 'm-0',
78
+ { 'p-3': !props.multiple, 'p-0': props.multiple },
79
+
80
+ // Colors
81
+ 'text-surface-700 dark:text-white/80',
82
+ {
83
+ 'bg-surface-0 dark:bg-surface-900': !props.multiple,
84
+ 'border border-surface-300 dark:border-surface-700': !props.multiple,
85
+ 'border-0 bg-transparent': props.multiple,
86
+ },
87
+
88
+ // States
89
+ {
90
+ 'focus:outline-none focus:outline-offset-0 focus:ring focus:ring-primary-400/50 dark:focus:ring-primary-300/50':
91
+ !props.multiple,
92
+ },
93
+
94
+ // Transition
95
+ 'transition-colors duration-200',
96
+ ],
97
+ }),
98
+ token: {
99
+ class: [
100
+ // Flex
101
+ 'inline-flex items-center',
102
+
103
+ // Spacings
104
+ 'py-1.5 px-3',
105
+
106
+ // Shape
107
+ 'rounded-[1.14rem]',
108
+
109
+ // Colors
110
+ 'bg-surface-200 dark:bg-surface-700',
111
+ 'text-surface-700 dark:text-white/70',
112
+
113
+ // Misc
114
+ 'cursor-default',
115
+ ],
116
+ },
117
+ label: {
118
+ class: 'leading-5',
119
+ },
120
+ removeTokenIcon: {
121
+ class: [
122
+ // Shape
123
+ 'rounded-md leading-6',
124
+
125
+ // Spacing
126
+ 'ml-2',
127
+
128
+ // Size
129
+ 'w-4 h-4',
130
+
131
+ // Transition
132
+ 'transition duration-200 ease-in-out',
133
+
134
+ // Misc
135
+ 'cursor-pointer',
136
+ ],
137
+ },
138
+ dropdownbutton: {
139
+ root: {
140
+ class: [
141
+ 'relative',
142
+
143
+ // Alignments
144
+ 'items-center inline-flex text-center align-bottom',
145
+
146
+ // Shape
147
+ 'rounded-r-md',
148
+
149
+ // Size
150
+ 'px-4 py-3 leading-none',
151
+
152
+ // Colors
153
+ 'text-white dark:text-surface-900',
154
+ 'bg-primary-500 dark:bg-primary-400',
155
+ 'border border-primary-500 dark:border-primary-400',
156
+
157
+ // States
158
+ 'focus:outline-none focus:outline-offset-0 focus:ring',
159
+ 'hover:bg-primary-600 dark:hover:bg-primary-300 hover:border-primary-600 dark:hover:border-primary-300',
160
+ 'focus:ring-primary-400/50 dark:focus:ring-primary-300/50',
161
+ ],
162
+ },
163
+ },
164
+ loadingicon: {
165
+ class: [
166
+ 'text-surface-500 dark:text-surface-0/70',
167
+ 'absolute top-[50%] right-[0.5rem] -mt-2 animate-spin',
168
+ ],
169
+ },
170
+ panel: {
171
+ class: [
172
+ // Colors
173
+ 'bg-surface-0 dark:bg-surface-800',
174
+ 'text-surface-700 dark:text-white/80',
175
+
176
+ // Shape
177
+ 'border-0',
178
+ 'rounded-md',
179
+ 'shadow-md',
180
+
181
+ // Size
182
+ 'max-h-[200px] overflow-auto',
183
+ ],
184
+ },
185
+ list: {
186
+ class: 'py-3 px-0 list-none m-0',
187
+ },
188
+ item: ({ context }) => ({
189
+ class: [
190
+ 'relative',
191
+
192
+ // Font
193
+ 'font-normal text-base leading-none',
194
+
195
+ // Spacing
196
+ 'm-0 px-5 py-3',
197
+
198
+ // Shape
199
+ 'border-0 rounded-none',
200
+
201
+ // Colors
202
+ {
203
+ 'text-surface-700 dark:text-white/80':
204
+ !context.focused && !context.selected,
205
+ 'bg-surface-200 dark:bg-surface-600/60':
206
+ context.focused && !context.selected,
207
+ 'text-surface-700 dark:text-white/80':
208
+ context.focused && !context.selected,
209
+
210
+ 'text-primary-700 dark:text-white/80':
211
+ context.focused && context.selected,
212
+ 'bg-primary-100 dark:bg-primary-400':
213
+ context.focused && context.selected,
214
+ 'text-primary-700 dark:text-white/80':
215
+ !context.focused && context.selected,
216
+ 'bg-primary-50 dark:bg-primary-300':
217
+ !context.focused && context.selected,
218
+ },
219
+
220
+ //States
221
+ {
222
+ 'hover:bg-surface-100 dark:hover:bg-surface-600/80':
223
+ !context.focused && !context.selected,
224
+ },
225
+ {
226
+ 'hover:text-surface-700 hover:bg-surface-100 dark:hover:text-white dark:hover:bg-surface-600/80':
227
+ context.focused && !context.selected,
228
+ },
229
+
230
+ // Transition
231
+ 'transition-shadow duration-200',
232
+
233
+ // Misc
234
+ 'cursor-pointer overflow-hidden whitespace-nowrap',
235
+ ],
236
+ }),
237
+ itemgroup: {
238
+ class: [
239
+ 'font-bold',
240
+
241
+ // Spacing
242
+ 'm-0 p-3',
243
+
244
+ // Colors
245
+ 'bg-surface-0 dark:bg-surface-700',
246
+ 'text-surface-800 dark:text-white/80',
247
+
248
+ // Misc
249
+ 'cursor-auto',
250
+ ],
251
+ },
252
+ emptymessage: {
253
+ class: [
254
+ // Font
255
+ 'leading-none',
256
+
257
+ // Spacing
258
+ 'py-3 px-5',
259
+
260
+ // Color
261
+ 'text-surface-800 dark:text-white/80',
262
+ 'bg-transparent',
263
+ ],
264
+ },
265
+ transition: {
266
+ enterFromClass: 'opacity-0 scale-y-[0.8]',
267
+ enterActiveClass:
268
+ 'transition-[transform,opacity] duration-[120ms] ease-[cubic-bezier(0,0,0.2,1)]',
269
+ leaveActiveClass: 'transition-opacity duration-100 ease-linear',
270
+ leaveToClass: 'opacity-0',
271
+ },
272
+ };
@@ -0,0 +1,40 @@
1
+ export default {
2
+ root: ({ props, parent }) => ({
3
+ class: [
4
+ // Font
5
+ {
6
+ 'text-xl': props.size == 'large',
7
+ 'text-2xl': props.size == 'xlarge',
8
+ },
9
+
10
+ // Alignments
11
+ 'inline-flex items-center justify-center',
12
+ 'relative',
13
+
14
+ // Sizes
15
+ {
16
+ 'h-8 w-8': props.size == null || props.size == 'normal',
17
+ 'w-12 h-12': props.size == 'large',
18
+ 'w-16 h-16': props.size == 'xlarge',
19
+ },
20
+ { '-ml-4': parent.instance.$style?.name == 'avatargroup' },
21
+
22
+ // Shapes
23
+ {
24
+ 'rounded-lg': props.shape == 'square',
25
+ 'rounded-full': props.shape == 'circle',
26
+ },
27
+ { 'border-2': parent.instance.$style?.name == 'avatargroup' },
28
+
29
+ // Colors
30
+ 'bg-surface-300 dark:bg-surface-700',
31
+ {
32
+ 'border-white dark:border-surface-800':
33
+ parent.instance.$style?.name == 'avatargroup',
34
+ },
35
+ ],
36
+ }),
37
+ image: {
38
+ class: 'h-full w-full',
39
+ },
40
+ };
@@ -0,0 +1,5 @@
1
+ export default {
2
+ root: {
3
+ class: 'flex items-center',
4
+ },
5
+ };
@@ -0,0 +1,44 @@
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ // Font
5
+ 'font-bold',
6
+
7
+ {
8
+ 'text-xs leading-[1.5rem]': props.size == null,
9
+ 'text-lg leading-[2.25rem]': props.size == 'large',
10
+ 'text-2xl leading-[3rem]': props.size == 'xlarge',
11
+ },
12
+
13
+ // Alignment
14
+ 'text-center inline-block',
15
+
16
+ // Size
17
+ 'p-0 px-1',
18
+ {
19
+ 'min-w-[1.5rem] h-[1.5rem]': props.size == null,
20
+ 'min-w-[2.25rem] h-[2.25rem]': props.size == 'large',
21
+ 'min-w-[3rem] h-[3rem]': props.size == 'xlarge',
22
+ },
23
+
24
+ // Shape
25
+ {
26
+ 'rounded-full': props.value.length == 1,
27
+ 'rounded-[0.71rem]': props.value.length !== 1,
28
+ },
29
+
30
+ // Color
31
+ 'text-white dark:text-surface-900',
32
+ {
33
+ 'bg-primary-500 dark:bg-primary-400':
34
+ props.severity == null || props.severity == 'primary',
35
+ 'bg-surface-500 dark:bg-surface-400': props.severity == 'secondary',
36
+ 'bg-green-500 dark:bg-green-400': props.severity == 'success',
37
+ 'bg-blue-500 dark:bg-blue-400': props.severity == 'info',
38
+ 'bg-orange-500 dark:bg-orange-400': props.severity == 'warning',
39
+ 'bg-purple-500 dark:bg-purple-400': props.severity == 'help',
40
+ 'bg-red-500 dark:bg-red-400': props.severity == 'danger',
41
+ },
42
+ ],
43
+ }),
44
+ };
@@ -0,0 +1,49 @@
1
+ export default {
2
+ root: ({ context }) => ({
3
+ class: [
4
+ // Font
5
+ 'font-bold font-sans',
6
+ 'text-xs leading-5',
7
+
8
+ // Alignment
9
+ 'flex items-center justify-center',
10
+ 'text-center',
11
+
12
+ // Position
13
+ 'absolute top-0 right-0 transform translate-x-1/2 -translate-y-1/2 origin-top-right',
14
+
15
+ // Size
16
+ 'm-0',
17
+ {
18
+ 'p-0': context.nogutter || context.dot,
19
+ 'px-2': !context.nogutter && !context.dot,
20
+ 'min-w-[0.5rem] w-2 h-2': context.dot,
21
+ 'min-w-[1.5rem] h-6': !context.dot,
22
+ },
23
+
24
+ // Shape
25
+ {
26
+ 'rounded-full': context.nogutter || context.dot,
27
+ 'rounded-[10px]': !context.nogutter && !context.dot,
28
+ },
29
+
30
+ // Color
31
+ 'text-white dark:text-surface-900',
32
+ {
33
+ 'bg-primary-500 dark:bg-primary-400':
34
+ !context.info &&
35
+ !context.success &&
36
+ !context.warning &&
37
+ !context.danger &&
38
+ !context.help &&
39
+ !context.secondary,
40
+ 'bg-surface-500 dark:bg-surface-400': context.secondary,
41
+ 'bg-green-500 dark:bg-green-400': context.success,
42
+ 'bg-blue-500 dark:bg-blue-400': context.info,
43
+ 'bg-orange-500 dark:bg-orange-400': context.warning,
44
+ 'bg-purple-500 dark:bg-purple-400': context.help,
45
+ 'bg-red-500 dark:bg-red-400': context.danger,
46
+ },
47
+ ],
48
+ }),
49
+ };
@@ -0,0 +1,64 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ // Shape
5
+ 'rounded-md',
6
+
7
+ // Spacing
8
+ 'p-4',
9
+
10
+ // Color
11
+ 'bg-surface-0 dark:bg-surface-700',
12
+ 'border border-surface-200 dark:border-surface-700',
13
+
14
+ // Misc
15
+ 'overflow-x-auto',
16
+ ],
17
+ },
18
+ menu: {
19
+ class: [
20
+ // Flex & Alignment
21
+ 'flex items-center flex-nowrap',
22
+
23
+ // Spacing
24
+ 'm-0 p-0 list-none leading-none',
25
+ ],
26
+ },
27
+ action: {
28
+ class: [
29
+ // Flex & Alignment
30
+ 'flex items-center',
31
+
32
+ // Shape
33
+ 'rounded-md',
34
+
35
+ // Color
36
+ 'text-surface-600 dark:text-white/70',
37
+
38
+ // States
39
+ 'focus-visible:outline-none focus-visible:outline-offset-0',
40
+ 'focus-visible:ring focus-visible:ring-primary-400/50 dark:focus-visible:ring-primary-300/50',
41
+
42
+ // Transitions
43
+ 'transition-shadow duration-200',
44
+
45
+ // Misc
46
+ 'text-decoration-none',
47
+ ],
48
+ },
49
+ icon: {
50
+ class: 'text-surface-600 dark:text-white/70',
51
+ },
52
+ separator: {
53
+ class: [
54
+ // Flex & Alignment
55
+ 'flex items-center',
56
+
57
+ // Spacing
58
+ ' mx-2',
59
+
60
+ // Color
61
+ 'text-surface-600 dark:text-white/70',
62
+ ],
63
+ },
64
+ };