@simitgroup/simpleapp-generator 1.6.6-h-alpha → 1.6.6-j-alpha

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 (185) hide show
  1. package/ReleaseNote.md +13 -1
  2. package/dist/buildinschemas/message.d.ts +3 -0
  3. package/dist/buildinschemas/message.d.ts.map +1 -0
  4. package/dist/buildinschemas/message.js +34 -0
  5. package/dist/buildinschemas/message.js.map +1 -0
  6. package/dist/buildinschemas/webhook.d.ts.map +1 -1
  7. package/dist/buildinschemas/webhook.js +1 -0
  8. package/dist/buildinschemas/webhook.js.map +1 -1
  9. package/dist/buildinschemas/webhookhistory.d.ts +3 -0
  10. package/dist/buildinschemas/webhookhistory.d.ts.map +1 -0
  11. package/dist/buildinschemas/webhookhistory.js +44 -0
  12. package/dist/buildinschemas/webhookhistory.js.map +1 -0
  13. package/dist/createproject.js +138 -0
  14. package/dist/createproject.js.map +1 -0
  15. package/dist/framework.d.ts.map +1 -1
  16. package/dist/framework.js +28 -3
  17. package/dist/framework.js.map +1 -1
  18. package/dist/generate-allow-changebackend.js +305 -0
  19. package/dist/generate-allow-changebackend.js.map +1 -0
  20. package/dist/index.js +0 -0
  21. package/dist/index2.js +118 -0
  22. package/dist/index2.js.map +1 -0
  23. package/dist/installdependency.js +20 -0
  24. package/dist/installdependency.js.map +1 -0
  25. package/dist/installnest.js +2 -0
  26. package/dist/installnest.js.map +1 -0
  27. package/dist/installnuxt.js +2 -0
  28. package/dist/installnuxt.js.map +1 -0
  29. package/dist/processors/groupsbuilder.js +2 -0
  30. package/dist/processors/groupsbuilder.js.map +1 -0
  31. package/dist/schematype/baseschema.js +25 -0
  32. package/dist/schematype/baseschema.js.map +1 -0
  33. package/dist/schematype/default.js +2 -0
  34. package/dist/schematype/default.js.map +1 -0
  35. package/dist/schematype/index.js +12 -0
  36. package/dist/schematype/index.js.map +1 -0
  37. package/dist/schematype/primarymasterdata.js +38 -0
  38. package/dist/schematype/primarymasterdata.js.map +1 -0
  39. package/dist/schematype/simple.js +24 -0
  40. package/dist/schematype/simple.js.map +1 -0
  41. package/dist/schematype/simplemasterdata.js +31 -0
  42. package/dist/schematype/simplemasterdata.js.map +1 -0
  43. package/dist/schematype/transaction.js +74 -0
  44. package/dist/schematype/transaction.js.map +1 -0
  45. package/package.json +1 -1
  46. package/src/buildinschemas/webhook.ts +1 -0
  47. package/src/framework.ts +31 -4
  48. package/templates/basic/nest/controller.ts.eta +6 -5
  49. package/templates/basic/nest/resolver.ts.eta +4 -2
  50. package/templates/basic/nest/service.ts.eta +5 -2
  51. package/templates/nest/.env._eta +1 -1
  52. package/templates/nest/src/simpleapp/generate/commons/middlewares/tenant.middleware.ts.eta +2 -2
  53. package/templates/nest/src/simpleapp/generate/commons/runwebhook.service.ts.eta +99 -107
  54. package/templates/nest/src/simpleapp/generate/commons/user.context.ts.eta +2 -2
  55. package/templates/nest/src/simpleapp/generate/processors/simpleapp.processor.ts.eta +3 -15
  56. package/templates/nuxt/assets/css/style.css._eta +74 -28
  57. package/templates/nuxt/components/calendar/CalendarInput.vue.eta +1 -1
  58. package/templates/nuxt/components/calendar/CalendarSmall.vue.eta +7 -7
  59. package/templates/nuxt/components/debug/DebugDocumentData.vue.eta +2 -3
  60. package/templates/nuxt/components/header/HeaderBreadcrumb.vue.eta +3 -3
  61. package/templates/nuxt/components/header/button/task/HeaderButtonTaskList.vue.eta +2 -2
  62. package/templates/nuxt/components/list/ListDocumentTable.vue.eta +1 -1
  63. package/templates/nuxt/components/list/ListMessages.vue.eta +2 -2
  64. package/templates/nuxt/components/overlay/OverlayPanelWithToolBar.vue.eta +3 -3
  65. package/templates/nuxt/components/overlay/OverlaySideBarCrud.vue.eta +2 -2
  66. package/templates/nuxt/components/page/PageDocList.vue.eta +3 -3
  67. package/templates/nuxt/components/renderer/RendererDateAge.vue.eta +19 -0
  68. package/templates/nuxt/components/simpleApp/SimpleAppCalendarInput.vue.eta +4 -4
  69. package/templates/nuxt/components/simpleApp/SimpleAppDocumentNo.vue.eta +3 -3
  70. package/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta +2 -3
  71. package/templates/nuxt/components/simpleApp/SimpleAppJsonSchemaForm.vue.eta +2 -15
  72. package/templates/nuxt/components/user/UserButtonPermissionInfo.vue.eta +2 -2
  73. package/templates/nuxt/nuxt.config.ts._eta +6 -5
  74. package/templates/nuxt/pages/index.vue._eta +1 -1
  75. package/templates/nuxt/plugins/40.pusher.ts.eta +8 -2
  76. package/templates/nuxt/presets/lara/accordion/index.js +79 -0
  77. package/templates/nuxt/presets/lara/accordioncontent/index.js +3 -0
  78. package/templates/nuxt/presets/lara/accordionheader/index.js +11 -0
  79. package/templates/nuxt/presets/lara/accordionpanel/index.js +18 -0
  80. package/templates/nuxt/presets/lara/autocomplete/index.js +208 -0
  81. package/templates/nuxt/presets/lara/avatar/index.js +43 -0
  82. package/templates/nuxt/presets/lara/avatargroup/index.js +5 -0
  83. package/templates/nuxt/presets/lara/badge/index.js +47 -0
  84. package/templates/nuxt/presets/lara/badgedirective/index.js +43 -0
  85. package/templates/nuxt/presets/lara/blockui/index.js +4 -0
  86. package/templates/nuxt/presets/lara/breadcrumb/index.js +64 -0
  87. package/templates/nuxt/presets/lara/button/index.js +238 -0
  88. package/templates/nuxt/presets/lara/buttongroup/index.js +12 -0
  89. package/templates/nuxt/presets/lara/card/index.js +37 -0
  90. package/templates/nuxt/presets/lara/carousel/index.js +103 -0
  91. package/templates/nuxt/presets/lara/cascadeselect/index.js +199 -0
  92. package/templates/nuxt/presets/lara/checkbox/index.js +104 -0
  93. package/templates/nuxt/presets/lara/chip/index.js +42 -0
  94. package/templates/nuxt/presets/lara/colorpicker/index.js +123 -0
  95. package/templates/nuxt/presets/lara/confirmdialog/index.js +3 -0
  96. package/templates/nuxt/presets/lara/confirmpopup/index.js +56 -0
  97. package/templates/nuxt/presets/lara/contextmenu/index.js +126 -0
  98. package/templates/nuxt/presets/lara/datatable/index.js +403 -0
  99. package/templates/nuxt/presets/lara/dataview/index.js +28 -0
  100. package/templates/nuxt/presets/lara/datepicker/index.js +435 -0
  101. package/templates/nuxt/presets/lara/deferred/index.js +3 -0
  102. package/templates/nuxt/presets/lara/dialog/index.js +148 -0
  103. package/templates/nuxt/presets/lara/divider/index.js +67 -0
  104. package/templates/nuxt/presets/lara/dock/index.js +86 -0
  105. package/templates/nuxt/presets/lara/drawer/index.js +149 -0
  106. package/templates/nuxt/presets/lara/fieldset/index.js +84 -0
  107. package/templates/nuxt/presets/lara/fileupload/index.js +95 -0
  108. package/templates/nuxt/presets/lara/floatlabel/index.js +26 -0
  109. package/templates/nuxt/presets/lara/galleria/index.js +308 -0
  110. package/templates/nuxt/presets/lara/global.js +90 -0
  111. package/templates/nuxt/presets/lara/iconfield/index.js +27 -0
  112. package/templates/nuxt/presets/lara/image/index.js +206 -0
  113. package/templates/nuxt/presets/lara/index.js +234 -0
  114. package/templates/nuxt/presets/lara/inplace/index.js +27 -0
  115. package/templates/nuxt/presets/lara/inputgroup/index.js +5 -0
  116. package/templates/nuxt/presets/lara/inputgroupaddon/index.js +28 -0
  117. package/templates/nuxt/presets/lara/inputmask/index.js +39 -0
  118. package/templates/nuxt/presets/lara/inputnumber/index.js +167 -0
  119. package/templates/nuxt/presets/lara/inputotp/index.js +10 -0
  120. package/templates/nuxt/presets/lara/inputswitch/index.js +80 -0
  121. package/templates/nuxt/presets/lara/inputtext/index.js +54 -0
  122. package/templates/nuxt/presets/lara/knob/index.js +44 -0
  123. package/templates/nuxt/presets/lara/listbox/index.js +117 -0
  124. package/templates/nuxt/presets/lara/megamenu/index.js +198 -0
  125. package/templates/nuxt/presets/lara/menu/index.js +96 -0
  126. package/templates/nuxt/presets/lara/menubar/index.js +176 -0
  127. package/templates/nuxt/presets/lara/message/index.js +92 -0
  128. package/templates/nuxt/presets/lara/metergroup/index.js +96 -0
  129. package/templates/nuxt/presets/lara/multiselect/index.js +201 -0
  130. package/templates/nuxt/presets/lara/orderlist/index.js +13 -0
  131. package/templates/nuxt/presets/lara/organizationchart/index.js +137 -0
  132. package/templates/nuxt/presets/lara/overlaybadge/index.js +18 -0
  133. package/templates/nuxt/presets/lara/paginator/index.js +178 -0
  134. package/templates/nuxt/presets/lara/panel/index.js +91 -0
  135. package/templates/nuxt/presets/lara/panelmenu/index.js +127 -0
  136. package/templates/nuxt/presets/lara/password/index.js +72 -0
  137. package/templates/nuxt/presets/lara/picklist/index.js +52 -0
  138. package/templates/nuxt/presets/lara/popover/index.js +31 -0
  139. package/templates/nuxt/presets/lara/progressbar/index.js +55 -0
  140. package/templates/nuxt/presets/lara/progressspinner/index.js +51 -0
  141. package/templates/nuxt/presets/lara/radiobutton/index.js +104 -0
  142. package/templates/nuxt/presets/lara/rating/index.js +63 -0
  143. package/templates/nuxt/presets/lara/ripple/index.js +6 -0
  144. package/templates/nuxt/presets/lara/scrollpanel/index.js +77 -0
  145. package/templates/nuxt/presets/lara/scrolltop/index.js +26 -0
  146. package/templates/nuxt/presets/lara/select/index.js +240 -0
  147. package/templates/nuxt/presets/lara/selectbutton/index.js +16 -0
  148. package/templates/nuxt/presets/lara/skeleton/index.js +16 -0
  149. package/templates/nuxt/presets/lara/slider/index.js +137 -0
  150. package/templates/nuxt/presets/lara/speeddial/index.js +57 -0
  151. package/templates/nuxt/presets/lara/splitbutton/index.js +19 -0
  152. package/templates/nuxt/presets/lara/splitter/index.js +61 -0
  153. package/templates/nuxt/presets/lara/splitterpanel/index.js +5 -0
  154. package/templates/nuxt/presets/lara/step/index.js +62 -0
  155. package/templates/nuxt/presets/lara/stepitem/index.js +11 -0
  156. package/templates/nuxt/presets/lara/steplist/index.js +3 -0
  157. package/templates/nuxt/presets/lara/steppanels/index.js +3 -0
  158. package/templates/nuxt/presets/lara/stepper/index.js +13 -0
  159. package/templates/nuxt/presets/lara/steps/index.js +111 -0
  160. package/templates/nuxt/presets/lara/tab/index.js +42 -0
  161. package/templates/nuxt/presets/lara/tablist/index.js +8 -0
  162. package/templates/nuxt/presets/lara/tabmenu/index.js +73 -0
  163. package/templates/nuxt/presets/lara/tabpanel/index.js +3 -0
  164. package/templates/nuxt/presets/lara/tabpanels/index.js +3 -0
  165. package/templates/nuxt/presets/lara/tabs/index.js +5 -0
  166. package/templates/nuxt/presets/lara/tabview/index.js +156 -0
  167. package/templates/nuxt/presets/lara/tag/index.js +38 -0
  168. package/templates/nuxt/presets/lara/terminal/index.js +60 -0
  169. package/templates/nuxt/presets/lara/textarea/index.js +39 -0
  170. package/templates/nuxt/presets/lara/tieredmenu/index.js +121 -0
  171. package/templates/nuxt/presets/lara/timeline/index.js +81 -0
  172. package/templates/nuxt/presets/lara/toast/index.js +102 -0
  173. package/templates/nuxt/presets/lara/togglebutton/index.js +45 -0
  174. package/templates/nuxt/presets/lara/toggleswitch/index.js +80 -0
  175. package/templates/nuxt/presets/lara/toolbar/index.js +28 -0
  176. package/templates/nuxt/presets/lara/tooltip/index.js +46 -0
  177. package/templates/nuxt/presets/lara/tree/index.js +101 -0
  178. package/templates/nuxt/presets/lara/treeselect/index.js +102 -0
  179. package/templates/nuxt/presets/lara/treetable/index.js +305 -0
  180. package/templates/nuxt/simpleapp/generate/clients/SimpleAppClient.ts.eta +2 -16
  181. package/templates/nuxt/tailwind.config.ts._eta +4 -15
  182. package/templates/project/sharelibs/validate.ts.eta +23 -0
  183. /package/templates/nuxt/components/image/{ImageAvatar.vue.eta._vue → ImageAvatar.vue.eta} +0 -0
  184. /package/templates/nuxt/components/image/{ImageOrganization.vue.eta.vue → ImageOrganization.vue.eta} +0 -0
  185. /package/templates/nuxt/components/image/{ImageToBase64Uploader.vue.eta.vue → ImageToBase64Uploader.vue.eta} +0 -0
@@ -0,0 +1,238 @@
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
+ { 'flex-col': (props.iconPos === 'top' || props.iconPos === 'bottom') && props.label },
9
+
10
+ // Sizes & Spacing
11
+ 'leading-[normal]',
12
+ {
13
+ 'px-4 py-[0.625rem]': props.size === null,
14
+ 'text-sm py-2 px-3': props.size === 'small',
15
+ 'text-xl py-3 px-4': props.size === 'large'
16
+ },
17
+ { 'gap-2': props.label !== null },
18
+ {
19
+ 'w-12 px-0 py-3': props.label == null && props.icon !== null
20
+ },
21
+
22
+ // Shapes
23
+ { 'shadow-lg': props.raised },
24
+ { 'rounded-md': !props.rounded, 'rounded-full': props.rounded },
25
+ { 'rounded-none first:rounded-l-md last:rounded-r-md': parent.instance.$name == 'InputGroup' },
26
+
27
+ // Link Button
28
+ { 'text-primary-600 bg-transparent border-transparent': props.link },
29
+
30
+ // Plain Button
31
+ { 'text-white bg-gray-500 border border-gray-500': props.plain && !props.outlined && !props.text },
32
+ // Plain Text Button
33
+ { 'text-surface-500': props.plain && props.text },
34
+ // Plain Outlined Button
35
+ { 'text-surface-500 border border-gray-500': props.plain && props.outlined },
36
+
37
+ // Text Button
38
+ { 'bg-transparent border-transparent': props.text && !props.plain },
39
+
40
+ // Outlined Button
41
+ { 'bg-transparent border': props.outlined && !props.plain },
42
+
43
+ // --- Severity Buttons ---
44
+
45
+ // Primary Button
46
+ {
47
+ 'text-primary-contrast': !props.link && props.severity === null && !props.text && !props.outlined && !props.plain,
48
+ 'bg-primary': !props.link && props.severity === null && !props.text && !props.outlined && !props.plain,
49
+ 'border border-primary': !props.link && props.severity === null && !props.text && !props.outlined && !props.plain
50
+ },
51
+ // Primary Text Button
52
+ { 'text-primary': props.text && props.severity === null && !props.plain },
53
+ // Primary Outlined Button
54
+ { 'text-primary border border-primary': props.outlined && props.severity === null && !props.plain },
55
+
56
+ // Secondary Button
57
+ {
58
+ 'text-white dark:text-surface-900': props.severity === 'secondary' && !props.text && !props.outlined && !props.plain,
59
+ 'bg-surface-500 dark:bg-surface-400': props.severity === 'secondary' && !props.text && !props.outlined && !props.plain,
60
+ 'border border-surface-500 dark:border-surface-400': props.severity === 'secondary' && !props.text && !props.outlined && !props.plain
61
+ },
62
+ // Secondary Text Button
63
+ { 'text-surface-500 dark:text-surface-300': props.text && props.severity === 'secondary' && !props.plain },
64
+ // Secondary Outlined Button
65
+ { 'text-surface-500 dark:text-surface-300 border border-surface-500 hover:bg-surface-300/20': props.outlined && props.severity === 'secondary' && !props.plain },
66
+
67
+ // Success Button
68
+ {
69
+ 'text-white dark:text-green-900': props.severity === 'success' && !props.text && !props.outlined && !props.plain,
70
+ 'bg-green-500 dark:bg-green-400': props.severity === 'success' && !props.text && !props.outlined && !props.plain,
71
+ 'border border-green-500 dark:border-green-400': props.severity === 'success' && !props.text && !props.outlined && !props.plain
72
+ },
73
+ // Success Text Button
74
+ { 'text-green-500 dark:text-green-400': props.text && props.severity === 'success' && !props.plain },
75
+ // Success Outlined Button
76
+ { 'text-green-500 border border-green-500 hover:bg-green-300/20': props.outlined && props.severity === 'success' && !props.plain },
77
+
78
+ // Info Button
79
+ {
80
+ 'text-white dark:text-surface-900': props.severity === 'info' && !props.text && !props.outlined && !props.plain,
81
+ 'bg-blue-500 dark:bg-blue-400': props.severity === 'info' && !props.text && !props.outlined && !props.plain,
82
+ 'border border-blue-500 dark:border-blue-400': props.severity === 'info' && !props.text && !props.outlined && !props.plain
83
+ },
84
+ // Info Text Button
85
+ { 'text-blue-500 dark:text-blue-400': props.text && props.severity === 'info' && !props.plain },
86
+ // Info Outlined Button
87
+ { 'text-blue-500 border border-blue-500 hover:bg-blue-300/20 ': props.outlined && props.severity === 'info' && !props.plain },
88
+
89
+ // Warning Button
90
+ {
91
+ 'text-white dark:text-surface-900': props.severity === 'warn' && !props.text && !props.outlined && !props.plain,
92
+ 'bg-orange-500 dark:bg-orange-400': props.severity === 'warn' && !props.text && !props.outlined && !props.plain,
93
+ 'border border-orange-500 dark:border-orange-400': props.severity === 'warn' && !props.text && !props.outlined && !props.plain
94
+ },
95
+ // Warning Text Button
96
+ { 'text-orange-500 dark:text-orange-400': props.text && props.severity === 'warn' && !props.plain },
97
+ // Warning Outlined Button
98
+ { 'text-orange-500 border border-orange-500 hover:bg-orange-300/20': props.outlined && props.severity === 'warn' && !props.plain },
99
+
100
+ // Help Button
101
+ {
102
+ 'text-white dark:text-surface-900': props.severity === 'help' && !props.text && !props.outlined && !props.plain,
103
+ 'bg-purple-500 dark:bg-purple-400': props.severity === 'help' && !props.text && !props.outlined && !props.plain,
104
+ 'border border-purple-500 dark:border-purple-400': props.severity === 'help' && !props.text && !props.outlined && !props.plain
105
+ },
106
+ // Help Text Button
107
+ { 'text-purple-500 dark:text-purple-400': props.text && props.severity === 'help' && !props.plain },
108
+ // Help Outlined Button
109
+ { 'text-purple-500 border border-purple-500 hover:bg-purple-300/20': props.outlined && props.severity === 'help' && !props.plain },
110
+
111
+ // Danger Button
112
+ {
113
+ 'text-white dark:text-surface-900': props.severity === 'danger' && !props.text && !props.outlined && !props.plain,
114
+ 'bg-red-500 dark:bg-red-400': props.severity === 'danger' && !props.text && !props.outlined && !props.plain,
115
+ 'border border-red-500 dark:border-red-400': props.severity === 'danger' && !props.text && !props.outlined && !props.plain
116
+ },
117
+ // Danger Text Button
118
+ { 'text-red-500 dark:text-red-400': props.text && props.severity === 'danger' && !props.plain },
119
+ // Danger Outlined Button
120
+ { 'text-red-500 border border-red-500 hover:bg-red-300/20': props.outlined && props.severity === 'danger' && !props.plain },
121
+ // Contrast Button
122
+ {
123
+ 'text-white dark:text-surface-900': props.severity === 'contrast' && !props.text && !props.outlined && !props.plain,
124
+ 'bg-surface-900 dark:bg-surface-0': props.severity === 'contrast' && !props.text && !props.outlined && !props.plain,
125
+ 'border border-surface-900 dark:border-surface-0': props.severity === 'contrast' && !props.text && !props.outlined && !props.plain
126
+ },
127
+ // Contrast Text Button
128
+ { 'text-surface-900 dark:text-surface-0': props.text && props.severity === 'contrast' && !props.plain },
129
+ // Contrast Outlined Button
130
+ { 'text-surface-900 dark:text-surface-0 border border-surface-900 dark:border-surface-0': props.outlined && props.severity === 'contrast' && !props.plain },
131
+
132
+ // --- Severity Button States ---
133
+ 'focus:outline-none focus:outline-offset-0 focus:ring',
134
+
135
+ // Link
136
+ { 'focus:ring-primary': props.link },
137
+
138
+ // Plain
139
+ { 'hover:bg-gray-600 hover:border-gray-600': props.plain && !props.outlined && !props.text },
140
+ // Text & Outlined Button
141
+ { 'hover:bg-surface-300/20': props.plain && (props.text || props.outlined) },
142
+
143
+ // Primary
144
+ { 'hover:bg-primary-emphasis hover:border-primary-emphasis': !props.link && props.severity === null && !props.text && !props.outlined && !props.plain },
145
+ { 'focus:ring-primary': props.severity === null },
146
+ // Text & Outlined Button
147
+ { 'hover:bg-primary-300/20': (props.text || props.outlined) && props.severity === null && !props.plain },
148
+
149
+ // Secondary
150
+ { 'hover:bg-surface-600 dark:hover:bg-surface-300 hover:border-surface-600 dark:hover:border-surface-300': props.severity === 'secondary' && !props.text && !props.outlined && !props.plain },
151
+ { 'focus:ring-surface-400/50 dark:focus:ring-surface-300/50': props.severity === 'secondary' },
152
+ // Text & Outlined Button
153
+ { 'hover:bg-surface-300/20': (props.text || props.outlined) && props.severity === 'secondary' && !props.plain },
154
+
155
+ // Success
156
+ { 'hover:bg-green-600 dark:hover:bg-green-300 hover:border-green-600 dark:hover:border-green-300': props.severity === 'success' && !props.text && !props.outlined && !props.plain },
157
+ { 'focus:ring-green-400/50 dark:focus:ring-green-300/50': props.severity === 'success' },
158
+ // Text & Outlined Button
159
+ { 'hover:bg-green-300/20': (props.text || props.outlined) && props.severity === 'success' && !props.plain },
160
+
161
+ // Info
162
+ { 'hover:bg-blue-600 dark:hover:bg-blue-300 hover:border-blue-600 dark:hover:border-blue-300': props.severity === 'info' && !props.text && !props.outlined && !props.plain },
163
+ { 'focus:ring-blue-400/50 dark:focus:ring-blue-300/50': props.severity === 'info' },
164
+ // Text & Outlined Button
165
+ { 'hover:bg-blue-300/20': (props.text || props.outlined) && props.severity === 'info' && !props.plain },
166
+
167
+ // Warning
168
+ { 'hover:bg-orange-600 dark:hover:bg-orange-300 hover:border-orange-600 dark:hover:border-orange-300': props.severity === 'warn' && !props.text && !props.outlined && !props.plain },
169
+ { 'focus:ring-orange-400/50 dark:focus:ring-orange-300/50': props.severity === 'warn' },
170
+ // Text & Outlined Button
171
+ { 'hover:bg-orange-300/20': (props.text || props.outlined) && props.severity === 'warn' && !props.plain },
172
+
173
+ // Help
174
+ { 'hover:bg-purple-600 dark:hover:bg-purple-300 hover:border-purple-600 dark:hover:border-purple-300': props.severity === 'help' && !props.text && !props.outlined && !props.plain },
175
+ { 'focus:ring-purple-400/50 dark:focus:ring-purple-300/50': props.severity === 'help' },
176
+ // Text & Outlined Button
177
+ { 'hover:bg-purple-300/20': (props.text || props.outlined) && props.severity === 'help' && !props.plain },
178
+
179
+ // Danger
180
+ { 'hover:bg-red-600 dark:hover:bg-red-300 hover:border-red-600 dark:hover:border-red-300': props.severity === 'danger' && !props.text && !props.outlined && !props.plain },
181
+ { 'focus:ring-red-400/50 dark:focus:ring-red-300/50': props.severity === 'danger' },
182
+ // Text & Outlined Button
183
+ { 'hover:bg-red-300/20': (props.text || props.outlined) && props.severity === 'danger' && !props.plain },
184
+ // Contrast
185
+ { 'hover:bg-surface-800 dark:hover:bg-surface-100 hover:border-surface-800 dark:hover:border-surface-100': props.severity === 'contrast' && !props.text && !props.outlined && !props.plain },
186
+ { 'focus:ring-surface-500 dark:focus:ring-surface-400': props.severity === 'contrast' },
187
+ // Text & Outlined Button
188
+ { 'hover:bg-surface-900/10 dark:hover:bg-[rgba(255,255,255,0.03)]': (props.text || props.outlined) && props.severity === 'contrast' && !props.plain },
189
+ // Disabled
190
+ { 'opacity-60 pointer-events-none cursor-default': context.disabled },
191
+
192
+ // Transitions
193
+ 'transition duration-200 ease-in-out',
194
+
195
+ // Misc
196
+ 'cursor-pointer overflow-hidden select-none',
197
+
198
+ // Badge
199
+ '[&>[data-pc-name=badge]]:min-w-4 [&>[data-pc-name=badge]]:h-4 [&>[data-pc-name=badge]]:leading-4'
200
+ ]
201
+ }),
202
+ label: ({ props }) => ({
203
+ class: [
204
+ 'duration-200',
205
+ 'font-bold',
206
+ {
207
+ 'hover:underline': props.link
208
+ },
209
+ { 'flex-1': props.label !== null, 'invisible w-0': props.label == null }
210
+ ]
211
+ }),
212
+ icon: ({ props }) => ({
213
+ class: [
214
+ 'mx-0',
215
+ {
216
+ 'mr-2': props.iconPos == 'left' && props.label != null,
217
+ 'ml-2 order-1': props.iconPos == 'right' && props.label != null,
218
+ 'order-2': props.iconPos == 'bottom' && props.label != null
219
+ }
220
+ ]
221
+ }),
222
+ loadingIcon: ({ props }) => ({
223
+ class: [
224
+ 'h-4 w-4',
225
+ 'mx-0',
226
+ {
227
+ 'mr-2': props.iconPos == 'left' && props.label != null,
228
+ 'ml-2 order-1': props.iconPos == 'right' && props.label != null,
229
+ 'mb-2': props.iconPos == 'top' && props.label != null,
230
+ 'mt-2': props.iconPos == 'bottom' && props.label != null
231
+ },
232
+ 'animate-spin'
233
+ ]
234
+ }),
235
+ badge: ({ props }) => ({
236
+ class: [{ 'ml-2 w-4 h-4 leading-none flex items-center justify-center': props.badge }]
237
+ })
238
+ };
@@ -0,0 +1,12 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ '[&>[data-pc-name=button]]:m-0',
5
+ '[&>[data-pc-name=button]]:border-r-none',
6
+ '[&>[data-pc-name=button]:nth-last-child(n+2)]:rounded-tr-none',
7
+ '[&>[data-pc-name=button]:nth-last-child(n+2)]:rounded-br-none',
8
+ '[&>[data-pc-name=button]:nth-child(n+2)]:rounded-tl-none',
9
+ '[&>[data-pc-name=button]:nth-child(n+2)]:rounded-bl-none'
10
+ ]
11
+ }
12
+ };
@@ -0,0 +1,37 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ //Shape
5
+ 'rounded-md',
6
+ 'shadow-md',
7
+
8
+ //Color
9
+ 'bg-surface-0 dark:bg-surface-900',
10
+ 'text-surface-700 dark:text-surface-0'
11
+ ]
12
+ },
13
+ body: {
14
+ class: 'p-5'
15
+ },
16
+ title: {
17
+ class: 'text-2xl font-bold mb-2'
18
+ },
19
+ subtitle: {
20
+ class: [
21
+ //Font
22
+ 'font-normal',
23
+
24
+ //Spacing
25
+ 'mb-2',
26
+
27
+ //Color
28
+ 'text-surface-600 dark:text-surface-0/60'
29
+ ]
30
+ },
31
+ content: {
32
+ class: 'py-5' // Vertical padding.
33
+ },
34
+ footer: {
35
+ class: 'pt-5' // Top padding.
36
+ }
37
+ };
@@ -0,0 +1,103 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ // Flexbox
5
+ 'flex flex-col'
6
+ ]
7
+ },
8
+ contentContainer: {
9
+ class: [
10
+ // Flexbox & Overflow
11
+ 'flex flex-col overflow-auto'
12
+ ]
13
+ },
14
+ content: ({ props }) => ({
15
+ class: [
16
+ // Flexbox
17
+ 'flex',
18
+
19
+ // Orientation
20
+ {
21
+ 'flex-row': props.orientation !== 'vertical',
22
+ 'flex-col': props.orientation == 'vertical'
23
+ },
24
+ ,
25
+ '[&>[data-pc-extend=button]]:self-center'
26
+ ]
27
+ }),
28
+ viewport: {
29
+ class: [
30
+ // Overflow & Width
31
+ 'overflow-hidden w-full'
32
+ ]
33
+ },
34
+ itemList: ({ props }) => ({
35
+ class: [
36
+ // Flexbox
37
+ 'flex',
38
+
39
+ // Orientation & Sizing
40
+ {
41
+ 'flex-row': props.orientation !== 'vertical',
42
+ 'flex-col h-full': props.orientation == 'vertical'
43
+ }
44
+ ]
45
+ }),
46
+ item: ({ props }) => ({
47
+ class: [
48
+ // Flexbox
49
+ 'flex shrink-0 grow ',
50
+
51
+ // Size
52
+ {
53
+ 'w-full sm:w-[50%] md:w-[33.333333333333336%]': props.orientation !== 'vertical',
54
+
55
+ 'w-full h-full': props.orientation == 'vertical'
56
+ }
57
+ ]
58
+ }),
59
+ itemClone: ({ props }) => ({
60
+ class: [
61
+ // Flexbox
62
+ 'flex shrink-0 grow',
63
+ 'unvisible',
64
+
65
+ // Size
66
+ {
67
+ 'w-full sm:w-[50%] md:w-[33.333333333333336%]': props.orientation !== 'vertical',
68
+
69
+ 'w-full h-full': props.orientation == 'vertical'
70
+ }
71
+ ]
72
+ }),
73
+ indicatorList: {
74
+ class: [
75
+ // Flexbox & Alignment
76
+ 'flex flex-row justify-center flex-wrap'
77
+ ]
78
+ },
79
+ indicator: {
80
+ class: [
81
+ // Spacing
82
+ 'mr-2 mb-2'
83
+ ]
84
+ },
85
+ indicatorButton: ({ context }) => ({
86
+ class: [
87
+ // Sizing & Shape
88
+ 'w-8 h-2 rounded-0',
89
+
90
+ // Transitions
91
+ 'transition duration-200',
92
+
93
+ // Focus Styles
94
+ 'focus:outline-none focus:outline-offset-0 focus:ring focus:ring-primary-400/50 dark:focus:ring-primary-300/50',
95
+
96
+ // Color & Background
97
+ {
98
+ 'bg-surface-200 hover:bg-surface-300 dark:bg-surface-700 dark:hover:bg-surface-600': !context.highlighted,
99
+ 'bg-primary hover:bg-primary-emphasis': context.highlighted
100
+ }
101
+ ]
102
+ })
103
+ };
@@ -0,0 +1,199 @@
1
+ export default {
2
+ root: ({ props, state }) => ({
3
+ class: [
4
+ 'relative',
5
+
6
+ // Flex
7
+ {
8
+ flex: props.fluid,
9
+ 'inline-flex': !props.fluid
10
+ },
11
+
12
+ // Shape
13
+ 'rounded-md',
14
+
15
+ // Color and Background
16
+ 'bg-surface-0 dark:bg-surface-900',
17
+ 'border',
18
+ { 'border-surface-300 dark:border-surface-600': !props.invalid },
19
+
20
+ // Invalid State
21
+ { 'border-red-500 dark:border-red-400': props.invalid },
22
+
23
+ // Transitions
24
+ 'transition-all',
25
+ 'duration-200',
26
+
27
+ // States
28
+ { 'hover:border-primary': !props.invalid },
29
+ { 'outline-none outline-offset-0 ring ring-primary-400/50 dark:ring-primary-300/50': state.focused },
30
+
31
+ // Misc
32
+ 'cursor-pointer',
33
+ 'select-none',
34
+ { 'opacity-60': props.disabled, 'pointer-events-none': props.disabled, 'cursor-default': props.disabled }
35
+ ]
36
+ }),
37
+ label: ({ props }) => ({
38
+ class: [
39
+ //Font
40
+ 'leading-[normal]',
41
+
42
+ // Flex & Alignment
43
+ ' flex flex-auto',
44
+
45
+ // Sizing and Spacing
46
+ 'w-[1%]',
47
+ 'p-3',
48
+
49
+ //Shape
50
+ 'rounded-none',
51
+
52
+ // Color and Background
53
+ 'bg-transparent',
54
+ 'border-0',
55
+ { 'text-surface-800 dark:text-white/80': props.modelValue, 'text-surface-400 dark:text-surface-500': !props.modelValue },
56
+ 'placeholder:text-surface-400 dark:placeholder:text-surface-500',
57
+
58
+ // Transitions
59
+ 'transition',
60
+ 'duration-200',
61
+
62
+ // States
63
+ 'focus:outline-none focus:shadow-none',
64
+
65
+ // Misc
66
+ 'relative',
67
+ 'cursor-pointer',
68
+ 'overflow-hidden overflow-ellipsis',
69
+ 'whitespace-nowrap',
70
+ 'appearance-none'
71
+ ]
72
+ }),
73
+ dropdown: {
74
+ class: [
75
+ // Flexbox
76
+ 'flex items-center justify-center',
77
+ 'shrink-0',
78
+
79
+ // Color and Background
80
+ 'bg-transparent',
81
+ 'text-surface-500',
82
+
83
+ // Size
84
+ 'w-12',
85
+
86
+ // Shape
87
+ 'rounded-tr-md',
88
+ 'rounded-br-md'
89
+ ]
90
+ },
91
+ overlay: {
92
+ class: [
93
+ // Position
94
+ 'absolute top-0 left-0',
95
+
96
+ // Shape
97
+ 'border-0 dark:border',
98
+ 'rounded-md',
99
+ 'shadow-md',
100
+
101
+ // Color
102
+ 'bg-surface-0 dark:bg-surface-700',
103
+ 'text-surface-800 dark:text-white/80',
104
+ 'dark:border-surface-700'
105
+ ]
106
+ },
107
+ list: {
108
+ class: 'flex flex-col list-none p-0 m-0 gap-[2px] min-w-full'
109
+ },
110
+ option: ({ context }) => ({
111
+ class: [
112
+ // Font
113
+ 'font-normal',
114
+ 'leading-none',
115
+
116
+ // Shape
117
+ 'border-0',
118
+ 'rounded-none',
119
+
120
+ // Spacing
121
+ 'm-0',
122
+
123
+ // Colors
124
+ {
125
+ 'text-surface-500 dark:text-white/70': !context.focused && !context.active,
126
+ 'text-surface-500 dark:text-white/70 bg-surface-200 dark:bg-surface-600/90': context.focused && !context.active,
127
+ 'bg-highlight': (context.focused && context.active) || context.active || (!context.focused && context.active)
128
+ },
129
+
130
+ // Hover States
131
+ {
132
+ 'hover:bg-surface-100 dark:hover:bg-surface-600/80': !context.active,
133
+ 'hover:bg-highlight-emphasis': context.active
134
+ },
135
+
136
+ // Transitions
137
+ 'transition-shadow',
138
+ 'duration-200',
139
+
140
+ // Misc
141
+ 'cursor-pointer',
142
+ 'overflow-hidden',
143
+ 'whitespace-nowrap'
144
+ ]
145
+ }),
146
+ optionContent: {
147
+ class: [
148
+ 'relative',
149
+
150
+ // Flexbox
151
+ 'flex',
152
+ 'items-center',
153
+
154
+ // Spacing
155
+ 'py-3',
156
+ 'px-5',
157
+
158
+ // Misc
159
+ 'no-underline',
160
+ 'overflow-hidden',
161
+ 'cursor-pointer',
162
+ 'select-none'
163
+ ]
164
+ },
165
+ groupIcon: {
166
+ class: [
167
+ // Alignment
168
+ 'ml-auto'
169
+ ]
170
+ },
171
+ optionList: {
172
+ class: [
173
+ // Size
174
+ 'min-w-full',
175
+
176
+ // Spacing
177
+ 'py-1',
178
+ 'm-0',
179
+ 'list-none',
180
+
181
+ // Shape
182
+ 'shadow-none sm:shadow-md',
183
+ 'border-0',
184
+
185
+ // Position
186
+ 'static sm:absolute',
187
+ 'z-10',
188
+
189
+ // Color
190
+ 'bg-surface-0 dark:bg-surface-700'
191
+ ]
192
+ },
193
+ transition: {
194
+ enterFromClass: 'opacity-0 scale-y-[0.8]',
195
+ enterActiveClass: 'transition-[transform,opacity] duration-[120ms] ease-[cubic-bezier(0,0,0.2,1)]',
196
+ leaveActiveClass: 'transition-opacity duration-100 ease-linear',
197
+ leaveToClass: 'opacity-0'
198
+ }
199
+ };