@fy-/fws-vue 0.1.3 → 0.1.5

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 (92) hide show
  1. package/components/ui/DefaultInput.vue +1 -1
  2. package/index.ts +4 -1
  3. package/package.json +1 -1
  4. package/presets/Lara/accordion/index.js +86 -0
  5. package/presets/Lara/autocomplete/index.js +284 -0
  6. package/presets/Lara/avatar/index.js +46 -0
  7. package/presets/Lara/badge/index.js +44 -0
  8. package/presets/Lara/badgedirective/index.js +49 -0
  9. package/presets/Lara/blockui/index.js +8 -0
  10. package/presets/Lara/breadcrumb/index.js +64 -0
  11. package/presets/Lara/button/index.js +470 -0
  12. package/presets/Lara/calendar/index.js +683 -0
  13. package/presets/Lara/card/index.js +37 -0
  14. package/presets/Lara/carousel/index.js +152 -0
  15. package/presets/Lara/cascadeselect/index.js +228 -0
  16. package/presets/Lara/checkbox/index.js +106 -0
  17. package/presets/Lara/chip/index.js +45 -0
  18. package/presets/Lara/chips/index.js +118 -0
  19. package/presets/Lara/colorpicker/index.js +129 -0
  20. package/presets/Lara/confirmpopup/index.js +107 -0
  21. package/presets/Lara/contextmenu/index.js +130 -0
  22. package/presets/Lara/datatable/index.js +1289 -0
  23. package/presets/Lara/dataview/index.js +40 -0
  24. package/presets/Lara/deferred/index.js +3 -0
  25. package/presets/Lara/dialog/index.js +249 -0
  26. package/presets/Lara/divider/index.js +72 -0
  27. package/presets/Lara/dock/index.js +97 -0
  28. package/presets/Lara/dropdown/index.js +300 -0
  29. package/presets/Lara/fieldset/index.js +98 -0
  30. package/presets/Lara/fileupload/index.js +173 -0
  31. package/presets/Lara/floatlabel/index.js +26 -0
  32. package/presets/Lara/galleria/index.js +351 -0
  33. package/presets/Lara/global.js +90 -0
  34. package/presets/Lara/iconfield/index.js +22 -0
  35. package/presets/Lara/image/index.js +206 -0
  36. package/presets/Lara/index.js +181 -0
  37. package/presets/Lara/inlinemessage/index.js +36 -0
  38. package/presets/Lara/inplace/index.js +27 -0
  39. package/presets/Lara/inputgroup/index.js +5 -0
  40. package/presets/Lara/inputgroupaddon/index.js +28 -0
  41. package/presets/Lara/inputmask/index.js +37 -0
  42. package/presets/Lara/inputnumber/index.js +253 -0
  43. package/presets/Lara/inputotp/index.js +72 -0
  44. package/presets/Lara/inputswitch/index.js +93 -0
  45. package/presets/Lara/inputtext/index.js +61 -0
  46. package/presets/Lara/knob/index.js +47 -0
  47. package/presets/Lara/listbox/index.js +170 -0
  48. package/presets/Lara/megamenu/index.js +207 -0
  49. package/presets/Lara/menu/index.js +98 -0
  50. package/presets/Lara/menubar/index.js +181 -0
  51. package/presets/Lara/message/index.js +87 -0
  52. package/presets/Lara/metergroup/index.js +110 -0
  53. package/presets/Lara/multiselect/index.js +589 -0
  54. package/presets/Lara/orderlist/index.js +266 -0
  55. package/presets/Lara/organizationchart/index.js +142 -0
  56. package/presets/Lara/overlaypanel/index.js +41 -0
  57. package/presets/Lara/paginator/index.js +590 -0
  58. package/presets/Lara/panel/index.js +93 -0
  59. package/presets/Lara/panelmenu/index.js +139 -0
  60. package/presets/Lara/password/index.js +140 -0
  61. package/presets/Lara/picklist/index.js +659 -0
  62. package/presets/Lara/progressbar/index.js +61 -0
  63. package/presets/Lara/progressspinner/index.js +51 -0
  64. package/presets/Lara/radiobutton/index.js +116 -0
  65. package/presets/Lara/rating/index.js +95 -0
  66. package/presets/Lara/ripple/index.js +6 -0
  67. package/presets/Lara/scrollpanel/index.js +77 -0
  68. package/presets/Lara/scrolltop/index.js +45 -0
  69. package/presets/Lara/selectbutton/index.js +60 -0
  70. package/presets/Lara/sidebar/index.js +163 -0
  71. package/presets/Lara/skeleton/index.js +19 -0
  72. package/presets/Lara/slider/index.js +149 -0
  73. package/presets/Lara/speeddial/index.js +535 -0
  74. package/presets/Lara/splitbutton/index.js +1081 -0
  75. package/presets/Lara/splitter/index.js +64 -0
  76. package/presets/Lara/stepper/index.js +183 -0
  77. package/presets/Lara/steps/index.js +115 -0
  78. package/presets/Lara/tabmenu/index.js +82 -0
  79. package/presets/Lara/tabview/index.js +166 -0
  80. package/presets/Lara/tag/index.js +37 -0
  81. package/presets/Lara/terminal/index.js +60 -0
  82. package/presets/Lara/textarea/index.js +39 -0
  83. package/presets/Lara/tieredmenu/index.js +125 -0
  84. package/presets/Lara/timeline/index.js +107 -0
  85. package/presets/Lara/toast/index.js +113 -0
  86. package/presets/Lara/togglebutton/index.js +100 -0
  87. package/presets/Lara/toolbar/index.js +28 -0
  88. package/presets/Lara/tooltip/index.js +73 -0
  89. package/presets/Lara/tree/index.js +281 -0
  90. package/presets/Lara/treeselect/index.js +387 -0
  91. package/presets/Lara/treetable/index.js +509 -0
  92. package/presets/Lara/tristatecheckbox/index.js +112 -0
@@ -0,0 +1,181 @@
1
+ import global from "./global.js";
2
+ import autocomplete from "./autocomplete";
3
+ import calendar from "./calendar";
4
+ import cascadeselect from "./cascadeselect";
5
+ import checkbox from "./checkbox";
6
+ import chips from "./chips";
7
+ import colorpicker from "./colorpicker";
8
+ import dropdown from "./dropdown";
9
+ import floatlabel from "./floatlabel";
10
+ import iconfield from "./iconfield";
11
+ import inputgroup from "./inputgroup";
12
+ import inputotp from "./inputotp";
13
+ import inputgroupaddon from "./inputgroupaddon";
14
+ import inputmask from "./inputmask";
15
+ import inputnumber from "./inputnumber";
16
+ import inputswitch from "./inputswitch";
17
+ import inputtext from "./inputtext";
18
+ import knob from "./knob";
19
+ import listbox from "./listbox";
20
+ import multiselect from "./multiselect";
21
+ import password from "./password";
22
+ import radiobutton from "./radiobutton";
23
+ import rating from "./rating";
24
+ import selectbutton from "./selectbutton";
25
+ import slider from "./slider";
26
+ import textarea from "./textarea";
27
+ import togglebutton from "./togglebutton";
28
+ import treeselect from "./treeselect";
29
+ import tristatecheckbox from "./tristatecheckbox";
30
+ import button from "./button";
31
+ import speeddial from "./speeddial";
32
+ import splitbutton from "./splitbutton";
33
+ import datatable from "./datatable";
34
+ import dataview from "./dataview";
35
+ import orderlist from "./orderlist";
36
+ import organizationchart from "./organizationchart";
37
+ import paginator from "./paginator";
38
+ import picklist from "./picklist";
39
+ import tree from "./tree";
40
+ import treetable from "./treetable";
41
+ import timeline from "./timeline";
42
+ import accordion from "./accordion";
43
+ import card from "./card";
44
+ import deferred from "./deferred";
45
+ import divider from "./divider";
46
+ import fieldset from "./fieldset";
47
+ import panel from "./panel";
48
+ import scrollpanel from "./scrollpanel";
49
+ import splitter from "./splitter";
50
+ import stepper from "./stepper";
51
+ import tabview from "./tabview";
52
+ import toolbar from "./toolbar";
53
+ import confirmpopup from "./confirmpopup";
54
+ import dialog from "./dialog";
55
+ import overlaypanel from "./overlaypanel";
56
+ import sidebar from "./sidebar";
57
+ import tooltip from "./tooltip";
58
+ import fileupload from "./fileupload";
59
+ import breadcrumb from "./breadcrumb";
60
+ import contextmenu from "./contextmenu";
61
+ import dock from "./dock";
62
+ import menu from "./menu";
63
+ import menubar from "./menubar";
64
+ import megamenu from "./megamenu";
65
+ import panelmenu from "./panelmenu";
66
+ import steps from "./steps";
67
+ import tabmenu from "./tabmenu";
68
+ import tieredmenu from "./tieredmenu";
69
+ import message from "./message";
70
+ import inlinemessage from "./inlinemessage";
71
+ import toast from "./toast";
72
+ import carousel from "./carousel";
73
+ import galleria from "./galleria";
74
+ import image from "./image";
75
+ import avatar from "./avatar";
76
+ import badge from "./badge";
77
+ import badgedirective from "./badgedirective";
78
+ import blockui from "./blockui";
79
+ import chip from "./chip";
80
+ import inplace from "./inplace";
81
+ import metergroup from "./metergroup";
82
+ import scrolltop from "./scrolltop";
83
+ import skeleton from "./skeleton";
84
+ import progressbar from "./progressbar";
85
+ import progressspinner from "./progressspinner";
86
+ import ripple from "./ripple";
87
+ import tag from "./tag";
88
+ import terminal from "./terminal";
89
+
90
+ export default {
91
+ global,
92
+ directives: {
93
+ tooltip,
94
+ badgedirective,
95
+ ripple,
96
+ },
97
+ autocomplete,
98
+ calendar,
99
+ cascadeselect,
100
+ checkbox,
101
+ chips,
102
+ colorpicker,
103
+ dropdown,
104
+ floatlabel,
105
+ iconfield,
106
+ inputgroup,
107
+ inputotp,
108
+ inputgroupaddon,
109
+ inputmask,
110
+ inputnumber,
111
+ inputswitch,
112
+ inputtext,
113
+ knob,
114
+ listbox,
115
+ multiselect,
116
+ password,
117
+ radiobutton,
118
+ rating,
119
+ selectbutton,
120
+ slider,
121
+ textarea,
122
+ togglebutton,
123
+ treeselect,
124
+ tristatecheckbox,
125
+ button,
126
+ speeddial,
127
+ splitbutton,
128
+ datatable,
129
+ dataview,
130
+ orderlist,
131
+ organizationchart,
132
+ paginator,
133
+ picklist,
134
+ tree,
135
+ treetable,
136
+ timeline,
137
+ accordion,
138
+ card,
139
+ deferred,
140
+ divider,
141
+ fieldset,
142
+ panel,
143
+ scrollpanel,
144
+ splitter,
145
+ stepper,
146
+ tabview,
147
+ toolbar,
148
+ confirmpopup,
149
+ dialog,
150
+ overlaypanel,
151
+ sidebar,
152
+ fileupload,
153
+ breadcrumb,
154
+ contextmenu,
155
+ dock,
156
+ menu,
157
+ menubar,
158
+ megamenu,
159
+ panelmenu,
160
+ steps,
161
+ tabmenu,
162
+ tieredmenu,
163
+ message,
164
+ inlinemessage,
165
+ toast,
166
+ carousel,
167
+ galleria,
168
+ image,
169
+ avatar,
170
+ badge,
171
+ blockui,
172
+ chip,
173
+ inplace,
174
+ metergroup,
175
+ scrolltop,
176
+ skeleton,
177
+ progressbar,
178
+ progressspinner,
179
+ tag,
180
+ terminal,
181
+ };
@@ -0,0 +1,36 @@
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ "inline-flex items-center justify-center align-top gap-2",
5
+ "p-3 m-0 rounded-md dark:border",
6
+ {
7
+ "bg-blue-100/70 dark:bg-blue-500/20": props.severity == "info",
8
+ "bg-green-100/70 dark:bg-green-500/20": props.severity == "success",
9
+ "bg-orange-100/70 dark:bg-orange-500/20": props.severity == "warn",
10
+ "bg-red-100/70 dark:bg-red-500/20": props.severity == "error",
11
+ },
12
+ {
13
+ "dark:border-blue-400": props.severity == "info",
14
+ "dark:border-green-400": props.severity == "success",
15
+ "dark:border-orange-400": props.severity == "warn",
16
+ "dark:border-red-400": props.severity == "error",
17
+ },
18
+ {
19
+ "text-blue-700 dark:text-blue-300": props.severity == "info",
20
+ "text-green-700 dark:text-green-300": props.severity == "success",
21
+ "text-orange-700 dark:text-orange-300": props.severity == "warn",
22
+ "text-red-700 dark:text-red-300": props.severity == "error",
23
+ },
24
+ ],
25
+ }),
26
+ icon: {
27
+ class: "text-base",
28
+ },
29
+ text: {
30
+ class: [
31
+ // Font and Text
32
+ "text-base leading-none",
33
+ "font-medium",
34
+ ],
35
+ },
36
+ };
@@ -0,0 +1,27 @@
1
+ export default {
2
+ display: {
3
+ class: [
4
+ // Display
5
+ "inline",
6
+
7
+ // Spacing
8
+ "p-3",
9
+
10
+ // Shape
11
+ "rounded-md",
12
+
13
+ // Colors
14
+ "text-surface-700 dark:text-white/80",
15
+
16
+ // States
17
+ "hover:bg-surface-100 hover:text-surface-700 dark:hover:bg-surface-700/80 dark:hover:text-white/80",
18
+
19
+ // Transitions
20
+ "transition",
21
+ "duration-200",
22
+
23
+ // Misc
24
+ "cursor-pointer",
25
+ ],
26
+ },
27
+ };
@@ -0,0 +1,5 @@
1
+ export default {
2
+ root: {
3
+ class: ["flex items-stretch", "w-full"],
4
+ },
5
+ };
@@ -0,0 +1,28 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ // Flex
5
+ "flex items-center justify-center",
6
+
7
+ // Shape
8
+ "first:rounded-l-md",
9
+ "last:rounded-r-md",
10
+ "border-y",
11
+
12
+ "last:border-r",
13
+ "border-l",
14
+ "border-r-0",
15
+
16
+ // Space
17
+ "p-3",
18
+
19
+ // Size
20
+ "min-w-[3rem]",
21
+
22
+ // Color
23
+ "bg-surface-50 dark:bg-surface-800",
24
+ "text-surface-600 dark:text-surface-400",
25
+ "border-surface-300 dark:border-surface-600",
26
+ ],
27
+ },
28
+ };
@@ -0,0 +1,37 @@
1
+ export default {
2
+ root: ({ context, props }) => ({
3
+ class: [
4
+ // Font
5
+ "font-sans leading-none",
6
+
7
+ // Spacing
8
+ "m-0 p-3",
9
+
10
+ // Colors
11
+ "text-surface-600 dark:text-surface-200",
12
+ "placeholder:text-surface-400 dark:placeholder:text-surface-500",
13
+ "bg-surface-0 dark:bg-surface-900",
14
+
15
+ "border",
16
+ { "border-surface-300 dark:border-surface-600": !props.invalid },
17
+
18
+ // Invalid State
19
+ { "border-red-500 dark:border-red-400": props.invalid },
20
+
21
+ // States
22
+ {
23
+ "hover:border-primary-500 dark:hover:border-primary-400":
24
+ !context.disabled && !props.invalid,
25
+ "focus:outline-none focus:outline-offset-0 focus:ring focus:ring-primary-500/50 dark:focus:ring-primary-400/50":
26
+ !context.disabled,
27
+ "opacity-60 select-none pointer-events-none cursor-default":
28
+ context.disabled,
29
+ },
30
+
31
+ // Misc
32
+ "rounded-md",
33
+ "appearance-none",
34
+ "transition-colors duration-200",
35
+ ],
36
+ }),
37
+ };
@@ -0,0 +1,253 @@
1
+ export default {
2
+ root: ({ props, parent }) => ({
3
+ class: [
4
+ // Flex
5
+ "inline-flex",
6
+ { "flex-col": props.showButtons && props.buttonLayout == "vertical" },
7
+ { "flex-1 w-[1%]": parent.instance.$name == "InputGroup" },
8
+
9
+ // Shape
10
+ {
11
+ "first:rounded-l-md rounded-none last:rounded-r-md":
12
+ parent.instance.$name == "InputGroup" && !props.showButtons,
13
+ },
14
+ {
15
+ "border-0 border-y border-l last:border-r border-surface-300 dark:border-surface-600":
16
+ parent.instance.$name == "InputGroup" && !props.showButtons,
17
+ },
18
+ {
19
+ "first:ml-0 -ml-px":
20
+ parent.instance.$name == "InputGroup" && !props.showButtons,
21
+ },
22
+
23
+ // Sizing
24
+ { "!w-16": props.showButtons && props.buttonLayout == "vertical" },
25
+ ],
26
+ }),
27
+ input: {
28
+ root: ({ parent, context }) => ({
29
+ class: [
30
+ // Display
31
+ "flex flex-auto",
32
+
33
+ // Font
34
+ "font-sans leading-none",
35
+
36
+ // Text
37
+ {
38
+ "text-center":
39
+ parent.props.showButtons && parent.props.buttonLayout == "vertical",
40
+ },
41
+
42
+ // Spacing
43
+ "p-3",
44
+ "m-0",
45
+
46
+ // Shape
47
+ "rounded-lg",
48
+ { "rounded-tr-none rounded-br-none": parent.props.showButtons },
49
+ {
50
+ "rounded-tl-none rounded-bl-none":
51
+ parent.props.showButtons &&
52
+ parent.props.buttonLayout == "horizontal",
53
+ },
54
+ {
55
+ "rounded-none":
56
+ parent.props.showButtons && parent.props.buttonLayout == "vertical",
57
+ },
58
+
59
+ {
60
+ "!rounded-none":
61
+ parent.instance.$parentInstance?.$name == "InputGroup" &&
62
+ !parent.props.showButtons,
63
+ },
64
+ {
65
+ "border-0":
66
+ parent.instance.$parentInstance?.$name == "InputGroup" &&
67
+ !parent.props.showButtons,
68
+ },
69
+
70
+ // Colors
71
+ "text-surface-600 dark:text-surface-200",
72
+ "placeholder:text-surface-400 dark:placeholder:text-surface-500",
73
+ "bg-surface-0 dark:bg-surface-900",
74
+ "border",
75
+ { "border-surface-300 dark:border-surface-600": !parent.props.invalid },
76
+
77
+ // Invalid State
78
+ { "border-red-500 dark:border-red-400": parent.props.invalid },
79
+
80
+ // States
81
+ {
82
+ "hover:border-primary-500 dark:hover:border-primary-400":
83
+ !parent.props.invalid,
84
+ },
85
+ "focus:outline-none focus:outline-offset-0 focus:ring focus:ring-primary-500/50 dark:focus:ring-primary-400/50 focus:z-10",
86
+ {
87
+ "opacity-60 select-none pointer-events-none cursor-default":
88
+ context.disabled,
89
+ },
90
+
91
+ // Filled State *for FloatLabel
92
+ { filled: parent.instance?.$name == "FloatLabel" && context.filled },
93
+
94
+ // Position
95
+ {
96
+ "order-2":
97
+ parent.props.buttonLayout == "horizontal" ||
98
+ parent.props.buttonLayout == "vertical",
99
+ },
100
+ ],
101
+ }),
102
+ },
103
+ buttongroup: ({ props }) => ({
104
+ class: [
105
+ // Flex
106
+ "flex",
107
+ "flex-col",
108
+ ],
109
+ }),
110
+
111
+ incrementbutton: {
112
+ root: ({ parent }) => ({
113
+ class: [
114
+ // Display
115
+ "flex flex-auto",
116
+
117
+ // Alignment
118
+ "items-center",
119
+ "justify-center",
120
+ "text-center align-bottom",
121
+
122
+ // Position
123
+ "relative",
124
+ {
125
+ "order-3":
126
+ parent.props.showButtons &&
127
+ parent.props.buttonLayout == "horizontal",
128
+ },
129
+ {
130
+ "order-1":
131
+ parent.props.showButtons && parent.props.buttonLayout == "vertical",
132
+ },
133
+
134
+ // Color
135
+ "text-white dark:text-surface-900",
136
+ "bg-primary-500 dark:bg-primary-400",
137
+ "border border-primary-500 dark:border-primary-400",
138
+
139
+ // Sizing
140
+ "w-[3rem]",
141
+ {
142
+ "px-4 py-3":
143
+ parent.props.showButtons && parent.props.buttonLayout !== "stacked",
144
+ },
145
+ {
146
+ "p-0":
147
+ parent.props.showButtons && parent.props.buttonLayout == "stacked",
148
+ },
149
+ {
150
+ "w-full":
151
+ parent.props.showButtons && parent.props.buttonLayout == "vertical",
152
+ },
153
+
154
+ // Shape
155
+ "rounded-md",
156
+ {
157
+ "rounded-tl-none rounded-br-none rounded-bl-none":
158
+ parent.props.showButtons && parent.props.buttonLayout == "stacked",
159
+ },
160
+ {
161
+ "rounded-bl-none rounded-tl-none":
162
+ parent.props.showButtons &&
163
+ parent.props.buttonLayout == "horizontal",
164
+ },
165
+ {
166
+ "rounded-bl-none rounded-br-none":
167
+ parent.props.showButtons && parent.props.buttonLayout == "vertical",
168
+ },
169
+
170
+ // States
171
+ "focus:outline-none focus:outline-offset-0 focus:ring",
172
+ "hover:bg-primary-600 dark:hover:bg-primary-300 hover:border-primary-600 dark:hover:border-primary-300",
173
+
174
+ // Misc
175
+ "cursor-pointer overflow-hidden select-none",
176
+ ],
177
+ }),
178
+ label: {
179
+ class: "h-0 w-0",
180
+ },
181
+ },
182
+ decrementbutton: {
183
+ root: ({ parent }) => ({
184
+ class: [
185
+ // Display
186
+ "flex flex-auto",
187
+
188
+ // Alignment
189
+ "items-center",
190
+ "justify-center",
191
+ "text-center align-bottom",
192
+
193
+ // Position
194
+ "relative",
195
+ {
196
+ "order-1":
197
+ parent.props.showButtons &&
198
+ parent.props.buttonLayout == "horizontal",
199
+ },
200
+ {
201
+ "order-3":
202
+ parent.props.showButtons && parent.props.buttonLayout == "vertical",
203
+ },
204
+
205
+ // Color
206
+ "text-white dark:text-surface-900",
207
+ "bg-primary-500 dark:bg-primary-400",
208
+ "border border-primary-500 dark:border-primary-400",
209
+
210
+ // Sizing
211
+ "w-[3rem]",
212
+ {
213
+ "px-4 py-3":
214
+ parent.props.showButtons && parent.props.buttonLayout !== "stacked",
215
+ },
216
+ {
217
+ "p-0":
218
+ parent.props.showButtons && parent.props.buttonLayout == "stacked",
219
+ },
220
+ {
221
+ "w-full":
222
+ parent.props.showButtons && parent.props.buttonLayout == "vertical",
223
+ },
224
+
225
+ // Shape
226
+ "rounded-md",
227
+ {
228
+ "rounded-tr-none rounded-tl-none rounded-bl-none":
229
+ parent.props.showButtons && parent.props.buttonLayout == "stacked",
230
+ },
231
+ {
232
+ "rounded-tr-none rounded-br-none ":
233
+ parent.props.showButtons &&
234
+ parent.props.buttonLayout == "horizontal",
235
+ },
236
+ {
237
+ "rounded-tr-none rounded-tl-none ":
238
+ parent.props.showButtons && parent.props.buttonLayout == "vertical",
239
+ },
240
+
241
+ // States
242
+ "focus:outline-none focus:outline-offset-0 focus:ring",
243
+ "hover:bg-primary-600 dark:hover:bg-primary-300 hover:border-primary-600 dark:hover:border-primary-300",
244
+
245
+ // Misc
246
+ "cursor-pointer overflow-hidden select-none",
247
+ ],
248
+ }),
249
+ label: {
250
+ class: "h-0 w-0",
251
+ },
252
+ },
253
+ };
@@ -0,0 +1,72 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ // Alignment
5
+ "flex items-center",
6
+ "gap-2",
7
+ ],
8
+ },
9
+ input: {
10
+ root: ({ props, context, parent }) => ({
11
+ class: [
12
+ // Font
13
+ "font-sans leading-none",
14
+
15
+ // Flex & Alignment
16
+ { "flex-1 w-[1%]": parent.instance.$name == "InputGroup" },
17
+ "text-center",
18
+
19
+ // Spacing
20
+ "m-0",
21
+ {
22
+ "p-3": props.size == null,
23
+ },
24
+
25
+ // Size
26
+ "w-10",
27
+
28
+ // Shape
29
+ { "rounded-md": parent.instance.$name !== "InputGroup" },
30
+ {
31
+ "first:rounded-l-md rounded-none last:rounded-r-md":
32
+ parent.instance.$name == "InputGroup",
33
+ },
34
+ {
35
+ "border-0 border-y border-l last:border-r":
36
+ parent.instance.$name == "InputGroup",
37
+ },
38
+ {
39
+ "first:ml-0 ml-[-1px]":
40
+ parent.instance.$name == "InputGroup" && !props.showButtons,
41
+ },
42
+
43
+ // Colors
44
+ "text-surface-600 dark:text-surface-200",
45
+ "placeholder:text-surface-400 dark:placeholder:text-surface-500",
46
+ "bg-surface-0 dark:bg-surface-900",
47
+ "border",
48
+ { "border-surface-300 dark:border-surface-600": !props.invalid },
49
+
50
+ // Invalid State
51
+ { "border-red-500 dark:border-red-400": props.invalid },
52
+
53
+ // States
54
+ {
55
+ "hover:border-primary-500 dark:hover:border-primary-400":
56
+ !context.disabled && !props.invalid,
57
+ "focus:outline-none focus:outline-offset-0 focus:ring focus:ring-primary-500/50 dark:focus:ring-primary-400/50 focus:z-10":
58
+ !context.disabled,
59
+ "opacity-60 select-none pointer-events-none cursor-default":
60
+ context.disabled,
61
+ },
62
+
63
+ // Filled State *for FloatLabel
64
+ { filled: parent.instance?.$name == "FloatLabel" && context.filled },
65
+
66
+ // Misc
67
+ "appearance-none",
68
+ "transition-colors duration-200",
69
+ ],
70
+ }),
71
+ },
72
+ };