@simitgroup/simpleapp-generator 1.6.6-i-alpha → 1.6.6-k-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 (239) hide show
  1. package/ReleaseNote.md +7 -0
  2. package/dist/buildinschemas/docnoformat.js +6 -6
  3. package/dist/buildinschemas/docnoformat.js.map +1 -1
  4. package/dist/buildinschemas/documentevent.js +1 -1
  5. package/dist/buildinschemas/documentevent.js.map +1 -1
  6. package/dist/buildinschemas/organization.js +1 -1
  7. package/dist/buildinschemas/organization.js.map +1 -1
  8. package/dist/buildinschemas/tenant.js +1 -1
  9. package/dist/buildinschemas/tenant.js.map +1 -1
  10. package/dist/buildinschemas/user.js +2 -2
  11. package/dist/buildinschemas/user.js.map +1 -1
  12. package/dist/buildinschemas/webhook.d.ts.map +1 -1
  13. package/dist/buildinschemas/webhook.js +1 -0
  14. package/dist/buildinschemas/webhook.js.map +1 -1
  15. package/dist/framework.d.ts.map +1 -1
  16. package/dist/framework.js +30 -3
  17. package/dist/framework.js.map +1 -1
  18. package/dist/generate.d.ts.map +1 -1
  19. package/dist/generate.js +21 -20
  20. package/dist/generate.js.map +1 -1
  21. package/dist/index.js +0 -0
  22. package/dist/processors/jrxmlbuilder.js +3 -3
  23. package/dist/processors/jrxmlbuilder.js.map +1 -1
  24. package/dist/processors/jsonschemabuilder.d.ts.map +1 -1
  25. package/dist/processors/jsonschemabuilder.js +17 -10
  26. package/dist/processors/jsonschemabuilder.js.map +1 -1
  27. package/dist/type.d.ts +1 -1
  28. package/dist/type.d.ts.map +1 -1
  29. package/package.json +2 -3
  30. package/reset-install.sh +3 -0
  31. package/src/buildinschemas/docnoformat.ts +6 -6
  32. package/src/buildinschemas/documentevent.ts +1 -1
  33. package/src/buildinschemas/organization.ts +1 -1
  34. package/src/buildinschemas/tenant.ts +1 -1
  35. package/src/buildinschemas/user.ts +2 -2
  36. package/src/buildinschemas/webhook.ts +1 -0
  37. package/src/framework.ts +33 -5
  38. package/src/generate.ts +22 -20
  39. package/src/processors/jrxmlbuilder.ts +3 -3
  40. package/src/processors/jsonschemabuilder.ts +27 -14
  41. package/src/type.ts +1 -1
  42. package/templates/basic/nest/controller.ts.eta +6 -5
  43. package/templates/basic/nest/resolver.ts.eta +4 -2
  44. package/templates/basic/nest/service.ts.eta +5 -2
  45. package/templates/basic/nuxt/simpleapp.generate.client.ts.eta +3 -3
  46. package/templates/nest/.gitignore.eta +4 -5
  47. package/templates/nest/src/{app.module.ts.eta → app.module.ts._eta} +2 -2
  48. package/templates/nest/src/{main.ts.eta → main.ts._eta} +2 -2
  49. package/templates/nest/src/printapi/printapi.service.ts.eta +7 -8
  50. package/templates/nest/src/simpleapp/.gitignore.eta +1 -1
  51. package/templates/nest/src/simpleapp/generate/commons/audittrail.service.ts.eta +2 -2
  52. package/templates/nest/src/simpleapp/generate/commons/customkeycloa.guard.ts.eta +14 -12
  53. package/templates/nest/src/simpleapp/generate/commons/customkeycloak.guard.ts.eta +36 -42
  54. package/templates/nest/src/simpleapp/generate/commons/docnogenerator.service.ts.eta +6 -3
  55. package/templates/nest/src/simpleapp/generate/commons/encryption.static.ts.eta +56 -61
  56. package/templates/nest/src/simpleapp/generate/commons/middlewares/tenant.middleware.ts.eta +65 -88
  57. package/templates/nest/src/simpleapp/generate/commons/robotuser.service.ts.eta +10 -9
  58. package/templates/nest/src/simpleapp/generate/commons/roles/roles.guard.ts.eta +10 -3
  59. package/templates/nest/src/simpleapp/generate/commons/runwebhook.service.ts.eta +71 -77
  60. package/templates/nest/src/simpleapp/generate/commons/user.context.ts.eta +439 -293
  61. package/templates/nest/src/simpleapp/generate/processors/autoinc.processor.ts.eta +20 -5
  62. package/templates/nest/src/simpleapp/generate/processors/simpleapp.processor.ts.eta +423 -38
  63. package/templates/nest/src/simpleapp/profile/{profile.controller.ts.eta → profile.controller.ts._eta} +2 -2
  64. package/templates/nest/src/simpleapp/profile/{profile.service.ts.eta → profile.service.ts._eta} +2 -2
  65. package/templates/nest/src/simpleapp/simpleapp.module.ts.eta +15 -4
  66. package/templates/nuxt/assets/css/style.css._eta +74 -28
  67. package/templates/nuxt/components/button/ButtonMultiple.vue._eta +1 -1
  68. package/templates/nuxt/components/calendar/{CalendarByResource.vue.eta → CalendarByResource.vue._eta} +2 -2
  69. package/templates/nuxt/components/calendar/{CalendarInput.vue.eta → CalendarInput.vue._eta} +3 -3
  70. package/templates/nuxt/components/calendar/{CalendarSmall.vue.eta → CalendarSmall.vue._eta} +13 -7
  71. package/templates/nuxt/components/debug/{DebugDocumentData.vue.eta → DebugDocumentData.vue._eta} +4 -5
  72. package/templates/nuxt/components/form/{FormDocnoformat.vue.eta → FormDocnoformat.vue._eta} +2 -1
  73. package/templates/nuxt/components/form/user/{FormUserPermission.vue.eta → FormUserPermission.vue._eta} +6 -0
  74. package/templates/nuxt/components/header/{HeaderBreadcrumb.vue.eta → HeaderBreadcrumb.vue._eta} +5 -5
  75. package/templates/nuxt/components/header/button/{HeaderButtonProfile.vue.eta → HeaderButtonProfile.vue._eta} +2 -2
  76. package/templates/nuxt/components/header/button/task/{HeaderButtonTaskList.vue.eta → HeaderButtonTaskList.vue._eta} +4 -4
  77. package/templates/nuxt/components/image/ImageAvatar.vue.eta +56 -0
  78. package/templates/nuxt/components/image/{ImageOrganization.vue.eta.vue → ImageOrganization.vue.eta} +15 -9
  79. package/templates/nuxt/components/image/{ImageToBase64Uploader.vue.eta.vue → ImageToBase64Uploader.vue.eta} +28 -18
  80. package/templates/nuxt/components/list/{ListDocumentTable.vue.eta → ListDocumentTable.vue._eta} +3 -3
  81. package/templates/nuxt/components/list/{ListItem.vue.eta → ListItem.vue._eta} +2 -2
  82. package/templates/nuxt/components/list/{ListMessages.vue.eta → ListMessages.vue._eta} +8 -2
  83. package/templates/nuxt/components/list/{ListView.vue.eta → ListView.vue._eta} +2 -2
  84. package/templates/nuxt/components/overlay/{OverlayPanelWithToolBar.vue.eta → OverlayPanelWithToolBar.vue._eta} +5 -5
  85. package/templates/nuxt/components/overlay/{OverlaySideBarCrud.vue.eta → OverlaySideBarCrud.vue._eta} +4 -4
  86. package/templates/nuxt/components/overlay/{OverlayViewer.vue.eta → OverlayViewer.vue._eta} +2 -2
  87. package/templates/nuxt/components/page/{PageDocList.vue.eta → PageDocList.vue._eta} +5 -5
  88. package/templates/nuxt/components/renderer/RendererDateAge.vue.eta +19 -0
  89. package/templates/nuxt/components/renderer/{RendererDateTime.vue.eta → RendererDateTime.vue._eta} +2 -2
  90. package/templates/nuxt/components/renderer/{RendererDocHistories.vue.eta → RendererDocHistories.vue._eta} +6 -0
  91. package/templates/nuxt/components/renderer/{RendererForeignKey.vue.eta → RendererForeignKey.vue._eta} +2 -2
  92. package/templates/nuxt/components/renderer/{RendererLink.vue.eta → RendererLink.vue._eta} +2 -2
  93. package/templates/nuxt/components/renderer/{RendererTime.vue.eta → RendererTime.vue._eta} +2 -2
  94. package/templates/nuxt/components/renderer/{RendererViewer.vue.eta → RendererViewer.vue._eta} +2 -2
  95. package/templates/nuxt/components/select/{SelectTemplate.vue.eta → SelectTemplate.vue._eta} +2 -2
  96. package/templates/nuxt/components/session/{SessionBlock.vue.eta → SessionBlock.vue._eta} +2 -2
  97. package/templates/nuxt/components/simpleApp/SimpleAppAutocomplete.vue.eta +55 -55
  98. package/templates/nuxt/components/simpleApp/SimpleAppCalendarInput.vue.eta +13 -11
  99. package/templates/nuxt/components/simpleApp/SimpleAppChildrenList.vue.eta +6 -3
  100. package/templates/nuxt/components/simpleApp/SimpleAppDocumentNo.vue.eta +33 -28
  101. package/templates/nuxt/components/simpleApp/SimpleAppFieldContainer.vue.eta +19 -28
  102. package/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta +113 -105
  103. package/templates/nuxt/components/simpleApp/SimpleAppInputTable.vue.eta +3 -3
  104. package/templates/nuxt/components/simpleApp/SimpleAppJsonSchemaForm.vue.eta +3 -16
  105. package/templates/nuxt/components/simpleApp/SimpleAppUserPicker.vue.eta +10 -12
  106. package/templates/nuxt/components/table/{TableDocuments.vue.eta → TableDocuments.vue._eta} +2 -2
  107. package/templates/nuxt/components/user/{UserButtonPermissionInfo.vue.eta → UserButtonPermissionInfo.vue._eta} +4 -4
  108. package/templates/nuxt/components/user/{UserInvitation.vue.eta → UserInvitation.vue._eta} +2 -2
  109. package/templates/nuxt/components/user/{UserProfileListItem.vue.eta → UserProfileListItem.vue._eta} +2 -2
  110. package/templates/nuxt/components/user/{UserTenantPicker.vue.eta → UserTenantPicker.vue._eta} +2 -2
  111. package/templates/nuxt/composables/getOpenApi.generate.ts.eta +11 -3
  112. package/templates/nuxt/composables/getUserStore.generate.ts.eta +1 -1
  113. package/templates/nuxt/composables/graphquery.generate.ts.eta +1 -1
  114. package/templates/nuxt/composables/recently.generate.ts.eta +0 -1
  115. package/templates/nuxt/composables/stringHelper.generate.ts.eta +5 -2
  116. package/templates/nuxt/nuxt.config.ts._eta +6 -5
  117. package/templates/nuxt/pages/[xorg]/docnoformat/[id].vue.eta +0 -1
  118. package/templates/nuxt/pages/[xorg]/{docnoformat.vue.eta → docnoformat.vue._eta} +1 -0
  119. package/templates/nuxt/pages/[xorg]/organization/[id].vue.eta +13 -9
  120. package/templates/nuxt/pages/[xorg]/organization/new.vue.eta +10 -12
  121. package/templates/nuxt/pages/[xorg]/{user.vue.eta → user.vue._eta} +2 -2
  122. package/templates/nuxt/pages/index.vue._eta +1 -1
  123. package/templates/nuxt/pages/{profile.vue.eta → profile.vue._eta} +2 -2
  124. package/templates/nuxt/plugins/10.simpleapp-event.ts.eta +6 -0
  125. package/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta +89 -12
  126. package/templates/nuxt/plugins/40.pusher.ts.eta +8 -5
  127. package/templates/nuxt/presets/lara/accordion/index.js +79 -0
  128. package/templates/nuxt/presets/lara/accordioncontent/index.js +3 -0
  129. package/templates/nuxt/presets/lara/accordionheader/index.js +11 -0
  130. package/templates/nuxt/presets/lara/accordionpanel/index.js +18 -0
  131. package/templates/nuxt/presets/lara/autocomplete/index.js +208 -0
  132. package/templates/nuxt/presets/lara/avatar/index.js +43 -0
  133. package/templates/nuxt/presets/lara/avatargroup/index.js +5 -0
  134. package/templates/nuxt/presets/lara/badge/index.js +47 -0
  135. package/templates/nuxt/presets/lara/badgedirective/index.js +43 -0
  136. package/templates/nuxt/presets/lara/blockui/index.js +4 -0
  137. package/templates/nuxt/presets/lara/breadcrumb/index.js +64 -0
  138. package/templates/nuxt/presets/lara/button/index.js +238 -0
  139. package/templates/nuxt/presets/lara/buttongroup/index.js +12 -0
  140. package/templates/nuxt/presets/lara/card/index.js +37 -0
  141. package/templates/nuxt/presets/lara/carousel/index.js +103 -0
  142. package/templates/nuxt/presets/lara/cascadeselect/index.js +199 -0
  143. package/templates/nuxt/presets/lara/checkbox/index.js +104 -0
  144. package/templates/nuxt/presets/lara/chip/index.js +42 -0
  145. package/templates/nuxt/presets/lara/colorpicker/index.js +123 -0
  146. package/templates/nuxt/presets/lara/confirmdialog/index.js +3 -0
  147. package/templates/nuxt/presets/lara/confirmpopup/index.js +56 -0
  148. package/templates/nuxt/presets/lara/contextmenu/index.js +126 -0
  149. package/templates/nuxt/presets/lara/datatable/index.js +403 -0
  150. package/templates/nuxt/presets/lara/dataview/index.js +28 -0
  151. package/templates/nuxt/presets/lara/datepicker/index.js +435 -0
  152. package/templates/nuxt/presets/lara/deferred/index.js +3 -0
  153. package/templates/nuxt/presets/lara/dialog/index.js +148 -0
  154. package/templates/nuxt/presets/lara/divider/index.js +67 -0
  155. package/templates/nuxt/presets/lara/dock/index.js +86 -0
  156. package/templates/nuxt/presets/lara/drawer/index.js +149 -0
  157. package/templates/nuxt/presets/lara/fieldset/index.js +84 -0
  158. package/templates/nuxt/presets/lara/fileupload/index.js +95 -0
  159. package/templates/nuxt/presets/lara/floatlabel/index.js +26 -0
  160. package/templates/nuxt/presets/lara/galleria/index.js +308 -0
  161. package/templates/nuxt/presets/lara/global.js +90 -0
  162. package/templates/nuxt/presets/lara/iconfield/index.js +27 -0
  163. package/templates/nuxt/presets/lara/image/index.js +206 -0
  164. package/templates/nuxt/presets/lara/index.js +234 -0
  165. package/templates/nuxt/presets/lara/inplace/index.js +27 -0
  166. package/templates/nuxt/presets/lara/inputgroup/index.js +5 -0
  167. package/templates/nuxt/presets/lara/inputgroupaddon/index.js +28 -0
  168. package/templates/nuxt/presets/lara/inputmask/index.js +39 -0
  169. package/templates/nuxt/presets/lara/inputnumber/index.js +167 -0
  170. package/templates/nuxt/presets/lara/inputotp/index.js +10 -0
  171. package/templates/nuxt/presets/lara/inputswitch/index.js +80 -0
  172. package/templates/nuxt/presets/lara/inputtext/index.js +54 -0
  173. package/templates/nuxt/presets/lara/knob/index.js +44 -0
  174. package/templates/nuxt/presets/lara/listbox/index.js +117 -0
  175. package/templates/nuxt/presets/lara/megamenu/index.js +198 -0
  176. package/templates/nuxt/presets/lara/menu/index.js +96 -0
  177. package/templates/nuxt/presets/lara/menubar/index.js +176 -0
  178. package/templates/nuxt/presets/lara/message/index.js +92 -0
  179. package/templates/nuxt/presets/lara/metergroup/index.js +96 -0
  180. package/templates/nuxt/presets/lara/multiselect/index.js +201 -0
  181. package/templates/nuxt/presets/lara/orderlist/index.js +13 -0
  182. package/templates/nuxt/presets/lara/organizationchart/index.js +137 -0
  183. package/templates/nuxt/presets/lara/overlaybadge/index.js +18 -0
  184. package/templates/nuxt/presets/lara/paginator/index.js +178 -0
  185. package/templates/nuxt/presets/lara/panel/index.js +91 -0
  186. package/templates/nuxt/presets/lara/panelmenu/index.js +127 -0
  187. package/templates/nuxt/presets/lara/password/index.js +72 -0
  188. package/templates/nuxt/presets/lara/picklist/index.js +52 -0
  189. package/templates/nuxt/presets/lara/popover/index.js +31 -0
  190. package/templates/nuxt/presets/lara/progressbar/index.js +55 -0
  191. package/templates/nuxt/presets/lara/progressspinner/index.js +51 -0
  192. package/templates/nuxt/presets/lara/radiobutton/index.js +104 -0
  193. package/templates/nuxt/presets/lara/rating/index.js +63 -0
  194. package/templates/nuxt/presets/lara/ripple/index.js +6 -0
  195. package/templates/nuxt/presets/lara/scrollpanel/index.js +77 -0
  196. package/templates/nuxt/presets/lara/scrolltop/index.js +26 -0
  197. package/templates/nuxt/presets/lara/select/index.js +240 -0
  198. package/templates/nuxt/presets/lara/selectbutton/index.js +16 -0
  199. package/templates/nuxt/presets/lara/skeleton/index.js +16 -0
  200. package/templates/nuxt/presets/lara/slider/index.js +137 -0
  201. package/templates/nuxt/presets/lara/speeddial/index.js +57 -0
  202. package/templates/nuxt/presets/lara/splitbutton/index.js +19 -0
  203. package/templates/nuxt/presets/lara/splitter/index.js +61 -0
  204. package/templates/nuxt/presets/lara/splitterpanel/index.js +5 -0
  205. package/templates/nuxt/presets/lara/step/index.js +62 -0
  206. package/templates/nuxt/presets/lara/stepitem/index.js +11 -0
  207. package/templates/nuxt/presets/lara/steplist/index.js +3 -0
  208. package/templates/nuxt/presets/lara/steppanels/index.js +3 -0
  209. package/templates/nuxt/presets/lara/stepper/index.js +13 -0
  210. package/templates/nuxt/presets/lara/steps/index.js +111 -0
  211. package/templates/nuxt/presets/lara/tab/index.js +42 -0
  212. package/templates/nuxt/presets/lara/tablist/index.js +8 -0
  213. package/templates/nuxt/presets/lara/tabmenu/index.js +73 -0
  214. package/templates/nuxt/presets/lara/tabpanel/index.js +3 -0
  215. package/templates/nuxt/presets/lara/tabpanels/index.js +3 -0
  216. package/templates/nuxt/presets/lara/tabs/index.js +5 -0
  217. package/templates/nuxt/presets/lara/tabview/index.js +156 -0
  218. package/templates/nuxt/presets/lara/tag/index.js +38 -0
  219. package/templates/nuxt/presets/lara/terminal/index.js +60 -0
  220. package/templates/nuxt/presets/lara/textarea/index.js +39 -0
  221. package/templates/nuxt/presets/lara/tieredmenu/index.js +121 -0
  222. package/templates/nuxt/presets/lara/timeline/index.js +81 -0
  223. package/templates/nuxt/presets/lara/toast/index.js +102 -0
  224. package/templates/nuxt/presets/lara/togglebutton/index.js +45 -0
  225. package/templates/nuxt/presets/lara/toggleswitch/index.js +80 -0
  226. package/templates/nuxt/presets/lara/toolbar/index.js +28 -0
  227. package/templates/nuxt/presets/lara/tooltip/index.js +46 -0
  228. package/templates/nuxt/presets/lara/tree/index.js +101 -0
  229. package/templates/nuxt/presets/lara/treeselect/index.js +102 -0
  230. package/templates/nuxt/presets/lara/treetable/index.js +305 -0
  231. package/templates/nuxt/providers/my-provider.ts.eta +1 -1
  232. package/templates/nuxt/server/api/profile/[...].ts.eta +4 -3
  233. package/templates/nuxt/simpleapp/generate/clients/SimpleAppClient.ts.eta +10 -20
  234. package/templates/nuxt/tailwind.config.ts._eta +4 -15
  235. package/templates/nuxt/types/schema.ts.eta +1 -1
  236. package/templates/nuxt/types/user.ts.eta +6 -1
  237. package/templates/project/jsonschemas/appintegration.json_eta +227 -0
  238. package/templates/project/sharelibs/validate.ts.eta +23 -0
  239. package/templates/nuxt/components/image/ImageAvatar.vue.eta._vue +0 -57
@@ -0,0 +1,117 @@
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ // Sizing and Shape
5
+ 'min-w-[12rem]',
6
+ 'rounded-md',
7
+
8
+ // Colors
9
+ 'bg-surface-0 dark:bg-surface-800',
10
+ 'text-surface-700 dark:text-white/80',
11
+ 'border',
12
+ { 'border-surface-300 dark:border-surface-600': !props.invalid },
13
+
14
+ // Invalid State
15
+ { 'border-red-500 dark:border-red-400': props.invalid }
16
+ ]
17
+ }),
18
+ listContainer: 'overflow-auto',
19
+ list: {
20
+ class: 'py-3 list-none m-0 outline-none'
21
+ },
22
+ option: ({ context }) => ({
23
+ class: [
24
+ 'relative',
25
+
26
+ // Font
27
+ 'font-normal',
28
+ 'leading-none',
29
+
30
+ // Flex
31
+ 'flex items-center',
32
+
33
+ // Position
34
+ 'relative',
35
+
36
+ // Shape
37
+ 'border-0',
38
+ 'rounded-none',
39
+
40
+ // Spacing
41
+ 'm-0',
42
+ 'py-3 px-5',
43
+
44
+ // Colors
45
+ {
46
+ 'text-surface-700 dark:text-white/80': !context.focused && !context.selected,
47
+ 'bg-surface-200 dark:bg-surface-600/60': context.focused && !context.selected,
48
+ 'text-surface-700 dark:text-white/80': context.focused && !context.selected,
49
+ 'bg-highlight': context.selected
50
+ },
51
+
52
+ //States
53
+ { 'hover:bg-surface-100 dark:hover:bg-surface-600/80': !context.focused && !context.selected },
54
+ { 'hover:bg-highlight-emphasis': context.selected },
55
+ 'focus-visible:outline-none focus-visible:outline-offset-0 focus-visible:ring focus-visible:ring-inset focus-visible:ring-primary-400/50 dark:focus-visible:ring-primary-300/50',
56
+
57
+ // Transitions
58
+ 'transition-shadow',
59
+ 'duration-200',
60
+
61
+ // Misc
62
+ 'cursor-pointer',
63
+ 'overflow-hidden',
64
+ 'whitespace-nowrap'
65
+ ]
66
+ }),
67
+ optionGroup: {
68
+ class: [
69
+ //Font
70
+ 'font-bold',
71
+
72
+ // Spacing
73
+ 'm-0',
74
+ 'py-3 px-5',
75
+
76
+ // Color
77
+ 'text-surface-800 dark:text-white/80',
78
+ 'bg-surface-0 dark:bg-surface-600/80',
79
+
80
+ // Misc
81
+ 'cursor-auto'
82
+ ]
83
+ },
84
+ optionCheckIcon: 'relative -ms-1.5 me-1.5 text-surface-700 dark:text-white/80 w-4 h-4',
85
+ header: {
86
+ class: [
87
+ // Spacing
88
+ 'py-3 px-5',
89
+ 'm-0',
90
+
91
+ //Shape
92
+ 'border-b',
93
+ 'rounded-tl-md',
94
+ 'rounded-tr-md',
95
+
96
+ // Color
97
+ 'text-surface-700 dark:text-white/80',
98
+ 'bg-surface-100 dark:bg-surface-800',
99
+ 'border-surface-300 dark:border-surface-600',
100
+
101
+ '[&_[data-pc-name=pcfilter]]:w-full'
102
+ ]
103
+ },
104
+ emptyMessage: {
105
+ class: [
106
+ // Font
107
+ 'leading-none',
108
+
109
+ // Spacing
110
+ 'py-3 px-5',
111
+
112
+ // Color
113
+ 'text-surface-800 dark:text-white/80',
114
+ 'bg-transparent'
115
+ ]
116
+ }
117
+ };
@@ -0,0 +1,198 @@
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ 'relative',
5
+
6
+ // Flexbox
7
+ 'flex',
8
+
9
+ // Shape & Size
10
+ 'rounded-md',
11
+
12
+ // Color
13
+ 'bg-surface-50 dark:bg-surface-700',
14
+ 'border border-surface-200 dark:border-surface-700',
15
+ { 'p-2 items-center': props.orientation == 'horizontal', 'flex-col sm:w-48 p-0 py-1': props.orientation !== 'horizontal' }
16
+ ]
17
+ }),
18
+ rootList: ({ props }) => ({
19
+ class: [
20
+ // Flexbox
21
+ 'sm:flex',
22
+ 'items-center',
23
+ 'flex-wrap',
24
+ 'flex-col sm:flex-row',
25
+ { hidden: !props?.mobileActive, flex: props?.mobileActive },
26
+
27
+ // Position
28
+ 'absolute sm:relative',
29
+ 'top-full left-0',
30
+ 'sm:top-auto sm:left-auto',
31
+
32
+ // Size
33
+ 'w-full sm:w-auto',
34
+
35
+ // Spacing
36
+ 'm-0',
37
+ 'py-1 sm:py-0 sm:p-0',
38
+ 'list-none',
39
+
40
+ // Shape
41
+ 'shadow-md sm:shadow-none',
42
+ 'border-0',
43
+
44
+ // Color
45
+ 'bg-surface-0 dark:bg-surface-700 sm:bg-transparent dark:sm:bg-transparent',
46
+
47
+ // Misc
48
+ 'outline-none'
49
+ ]
50
+ }),
51
+ item: ({ props }) => ({
52
+ class: [
53
+ 'sm:relative static',
54
+ {
55
+ 'sm:w-auto w-full': props.horizontal,
56
+ 'w-full': !props.horizontal
57
+ }
58
+ ]
59
+ }),
60
+ itemContent: ({ props, context }) => ({
61
+ class: [
62
+ // Shape
63
+ { 'rounded-md': props.level < 1 && props.horizontal },
64
+
65
+ // Colors
66
+ {
67
+ 'text-surface-500 dark:text-white/70': !context.focused && !context.active,
68
+ 'text-surface-500 dark:text-white/70 bg-surface-200 dark:bg-surface-600/90': context.focused && !context.active,
69
+ 'bg-highlight': (context.focused && context.active) || context.active || (!context.focused && context.active)
70
+ },
71
+
72
+ // Hover States
73
+ {
74
+ 'hover:bg-surface-100 dark:hover:bg-surface-600/80': !context.active,
75
+ 'hover:bg-highlight-emphasis': context.active
76
+ },
77
+
78
+ // Transitions
79
+ 'transition-all',
80
+ 'duration-200'
81
+ ]
82
+ }),
83
+ itemLink: {
84
+ class: [
85
+ 'relative',
86
+
87
+ // Flexbox
88
+ 'flex',
89
+ 'items-center',
90
+
91
+ // Spacing
92
+ 'py-3',
93
+ 'px-5',
94
+
95
+ // Size
96
+ 'py-3 pr-5 pl-9 sm:pl-5',
97
+ 'leading-none',
98
+
99
+ // Misc
100
+ 'select-none',
101
+ 'cursor-pointer',
102
+ 'no-underline ',
103
+ 'overflow-hidden'
104
+ ]
105
+ },
106
+ itemIcon: {
107
+ class: 'mr-2'
108
+ },
109
+ submenuIcon: ({ props }) => ({
110
+ class: [
111
+ {
112
+ 'ml-auto sm:ml-2': props.horizontal,
113
+ 'ml-auto': !props.horizontal
114
+ }
115
+ ]
116
+ }),
117
+ overlay: ({ props }) => ({
118
+ class: [
119
+ // Size
120
+ 'w-auto',
121
+
122
+ // Spacing
123
+ 'py-1',
124
+ 'm-0',
125
+
126
+ // Shape
127
+ 'shadow-none sm:shadow-md',
128
+ 'border-0',
129
+
130
+ // Color
131
+ 'bg-surface-0 dark:bg-surface-700',
132
+
133
+ // Position
134
+ 'static sm:absolute',
135
+ 'z-10',
136
+ {
137
+ 'sm:left-full top-0': !props.horizontal
138
+ }
139
+ ]
140
+ }),
141
+ grid: {
142
+ class: 'flex flex-wrap sm:flex-nowrap'
143
+ },
144
+ column: {
145
+ class: 'w-full sm:w-1/2'
146
+ },
147
+ submenu: {
148
+ class: ['m-0 list-none', 'py-1 px-2 w-full sm:min-w-[14rem]']
149
+ },
150
+ submenuLabel: {
151
+ class: [
152
+ 'font-semibold',
153
+
154
+ // Spacing
155
+ 'py-3 px-5',
156
+ 'm-0',
157
+
158
+ // Color
159
+ 'text-surface-700 dark:text-white/80',
160
+ 'bg-surface-0 dark:bg-surface-700'
161
+ ]
162
+ },
163
+ separator: {
164
+ class: 'border-t border-surface-200 dark:border-surface-600 my-1'
165
+ },
166
+ button: {
167
+ class: [
168
+ // Flexbox
169
+ 'flex sm:hidden',
170
+ 'items-center justify-center',
171
+
172
+ // Size
173
+ 'w-8',
174
+ 'h-8',
175
+
176
+ // Shape
177
+ 'rounded-full',
178
+ // Color
179
+ 'text-surface-500 dark:text-white/80',
180
+
181
+ // States
182
+ 'hover:text-surface-600 dark:hover:text-white/60',
183
+ 'hover:bg-surface-100 dark:hover:bg-surface-600/80',
184
+ 'focus:outline-none focus:outline-offset-0',
185
+ 'focus:ring focus:ring-primary-400/50 dark:focus:ring-primary-300/50',
186
+
187
+ // Transitions
188
+ 'transition duration-200 ease-in-out',
189
+
190
+ // Misc
191
+ 'cursor-pointer',
192
+ 'no-underline'
193
+ ]
194
+ },
195
+ end: {
196
+ class: 'ml-auto self-center'
197
+ }
198
+ };
@@ -0,0 +1,96 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ // Sizing and Shape
5
+ 'min-w-[12rem]',
6
+ 'rounded-md',
7
+ // Spacing
8
+ 'py-2',
9
+ // Colors
10
+ 'bg-surface-0 dark:bg-surface-700',
11
+ 'text-surface-700 dark:text-white/80',
12
+ 'border border-surface-200 dark:border-surface-700'
13
+ ]
14
+ },
15
+ list: {
16
+ class: [
17
+ // Spacings and Shape
18
+ 'list-none',
19
+ 'm-0',
20
+ 'p-0',
21
+ 'outline-none'
22
+ ]
23
+ },
24
+ itemContent: ({ context }) => ({
25
+ class: [
26
+ //Shape
27
+ 'rounded-none',
28
+ // Colors
29
+ 'text-surface-700 dark:text-white/80',
30
+ {
31
+ 'bg-surface-200 text-surface-700 dark:bg-surface-300/10 dark:text-white': context.focused
32
+ },
33
+ // Transitions
34
+ 'transition-shadow',
35
+ 'duration-200',
36
+ // States
37
+ 'hover:text-surface-700 dark:hover:text-white/80',
38
+ 'hover:bg-surface-100 dark:bg-surface-700 dark:hover:bg-surface-400/10'
39
+ ]
40
+ }),
41
+ itemLink: {
42
+ class: [
43
+ 'relative',
44
+ // Flexbox
45
+
46
+ 'flex',
47
+ 'items-center',
48
+
49
+ // Spacing
50
+ 'py-3',
51
+ 'px-5',
52
+
53
+ // Color
54
+ 'text-surface-700 dark:text-white/80',
55
+
56
+ // Misc
57
+ 'no-underline',
58
+ 'overflow-hidden',
59
+ 'cursor-pointer',
60
+ 'select-none'
61
+ ]
62
+ },
63
+ itemIcon: {
64
+ class: [
65
+ // Spacing
66
+ 'mr-2',
67
+
68
+ // Color
69
+ 'text-surface-600 dark:text-white/70'
70
+ ]
71
+ },
72
+ itemLabel: {
73
+ class: ['leading-none']
74
+ },
75
+ submenuLabel: {
76
+ class: [
77
+ // Font
78
+ 'font-bold',
79
+ // Spacing
80
+ 'm-0',
81
+ 'py-3 px-5',
82
+ // Shape
83
+ 'rounded-tl-none',
84
+ 'rounded-tr-none',
85
+ // Colors
86
+ 'bg-surface-0 dark:bg-surface-700',
87
+ 'text-surface-700 dark:text-white'
88
+ ]
89
+ },
90
+ transition: {
91
+ enterFromClass: 'opacity-0 scale-y-[0.8]',
92
+ enterActiveClass: 'transition-[transform,opacity] duration-[120ms] ease-[cubic-bezier(0,0,0.2,1)]',
93
+ leaveActiveClass: 'transition-opacity duration-100 ease-linear',
94
+ leaveToClass: 'opacity-0'
95
+ }
96
+ };
@@ -0,0 +1,176 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ 'relative',
5
+
6
+ // Flexbox
7
+ 'flex',
8
+ 'items-center',
9
+
10
+ // Spacing
11
+ 'p-2',
12
+
13
+ // Shape
14
+ 'rounded-md',
15
+
16
+ // Color
17
+ 'bg-surface-50 dark:bg-surface-700',
18
+ 'border border-surface-200 dark:border-surface-700'
19
+ ]
20
+ },
21
+ rootList: ({ props }) => ({
22
+ class: [
23
+ // Flexbox
24
+ 'sm:flex',
25
+ 'items-center',
26
+ 'flex-wrap',
27
+ 'flex-col sm:flex-row',
28
+ { hidden: !props?.mobileActive, flex: props?.mobileActive },
29
+
30
+ // Position
31
+ 'absolute sm:relative',
32
+ 'top-full left-0',
33
+ 'sm:top-auto sm:left-auto',
34
+
35
+ // Size
36
+ 'w-full sm:w-auto',
37
+
38
+ // Spacing
39
+ 'm-0',
40
+ 'py-1 sm:py-0 sm:p-0',
41
+ 'list-none',
42
+
43
+ // Shape
44
+ 'shadow-md sm:shadow-none',
45
+ 'border-0',
46
+
47
+ // Color
48
+ 'bg-surface-0 dark:bg-surface-700 sm:bg-transparent',
49
+
50
+ // Misc
51
+ 'outline-none'
52
+ ]
53
+ }),
54
+ item: {
55
+ class: 'sm:relative sm:w-auto w-full static'
56
+ },
57
+ itemContent: ({ props, context }) => ({
58
+ class: [
59
+ // Shape
60
+ { 'rounded-md': props.root },
61
+
62
+ // Colors
63
+ {
64
+ 'text-surface-500 dark:text-white/70': !context.focused && !context.active,
65
+ 'text-surface-500 dark:text-white/70 bg-surface-200 dark:bg-surface-600/90': context.focused && !context.active,
66
+ 'bg-highlight': (context.focused && context.active) || context.active || (!context.focused && context.active)
67
+ },
68
+
69
+ // Hover States
70
+ {
71
+ 'hover:bg-surface-100 dark:hover:bg-surface-600/80': !context.active,
72
+ 'hover:bg-highlight-emphasis': context.active
73
+ },
74
+
75
+ // Transitions
76
+ 'transition-all',
77
+ 'duration-200'
78
+ ]
79
+ }),
80
+ itemLink: ({ context }) => ({
81
+ class: [
82
+ 'relative',
83
+
84
+ // Flexbox
85
+ 'flex',
86
+ 'items-center',
87
+
88
+ // Spacing
89
+ 'py-3',
90
+ 'px-5',
91
+
92
+ // Size
93
+ {
94
+ 'pl-9 sm:pl-5': context.level === 1,
95
+ 'pl-14 sm:pl-5': context.level === 2
96
+ },
97
+ 'leading-none',
98
+
99
+ // Misc
100
+ 'select-none',
101
+ 'cursor-pointer',
102
+ 'no-underline ',
103
+ 'overflow-hidden'
104
+ ]
105
+ }),
106
+ itemIcon: {
107
+ class: 'mr-2'
108
+ },
109
+ submenuIcon: ({ props }) => ({
110
+ class: [
111
+ {
112
+ 'ml-auto sm:ml-2': props.root,
113
+ 'ml-auto': !props.root
114
+ }
115
+ ]
116
+ }),
117
+ submenu: ({ props }) => ({
118
+ class: [
119
+ 'flex flex-col',
120
+ // Size
121
+ 'w-full sm:w-48',
122
+
123
+ // Spacing
124
+ 'py-1',
125
+ 'm-0',
126
+ 'list-none',
127
+
128
+ // Shape
129
+ 'shadow-none sm:shadow-md',
130
+ 'border-0',
131
+
132
+ // Position
133
+ 'static sm:absolute',
134
+ 'z-10',
135
+ { 'sm:absolute sm:left-full sm:top-0': props.level > 1 },
136
+
137
+ // Color
138
+ 'bg-surface-0 dark:bg-surface-700'
139
+ ]
140
+ }),
141
+ separator: {
142
+ class: 'border-t border-surface-200 dark:border-surface-600 my-1'
143
+ },
144
+ button: {
145
+ class: [
146
+ // Flexbox
147
+ 'flex sm:hidden',
148
+ 'items-center justify-center',
149
+
150
+ // Size
151
+ 'w-8',
152
+ 'h-8',
153
+
154
+ // Shape
155
+ 'rounded-full',
156
+ // Color
157
+ 'text-surface-500 dark:text-white/80',
158
+
159
+ // States
160
+ 'hover:text-surface-600 dark:hover:text-white/60',
161
+ 'hover:bg-surface-100 dark:hover:bg-surface-600/80',
162
+ 'focus:outline-none focus:outline-offset-0',
163
+ 'focus:ring focus:ring-primary-400/50 dark:focus:ring-primary-300/50',
164
+
165
+ // Transitions
166
+ 'transition duration-200 ease-in-out',
167
+
168
+ // Misc
169
+ 'cursor-pointer',
170
+ 'no-underline'
171
+ ]
172
+ },
173
+ end: {
174
+ class: 'ml-auto self-center'
175
+ }
176
+ };
@@ -0,0 +1,92 @@
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ // Spacing and Shape
5
+ 'rounded-md',
6
+ 'outline-solid outline-0 outline-l-[6px]',
7
+
8
+ // Colors
9
+ {
10
+ 'bg-blue-100/70 dark:bg-blue-500/20': props.severity == 'info',
11
+ 'bg-green-100/70 dark:bg-green-500/20': props.severity == 'success',
12
+ 'bg-surface-100/70 dark:bg-surface-500/20': props.severity == 'secondary',
13
+ 'bg-orange-100/70 dark:bg-orange-500/20': props.severity == 'warn',
14
+ 'bg-red-100/70 dark:bg-red-500/20': props.severity == 'error',
15
+ 'bg-surface-950 dark:bg-surface-0': props.severity == 'contrast'
16
+ },
17
+ {
18
+ 'outline-blue-500 dark:outline-blue-400': props.severity == 'info',
19
+ 'outline-green-500 dark:outline-green-400': props.severity == 'success',
20
+ 'outline-surface-500 dark:outline-surface-400': props.severity == 'secondary',
21
+ 'outline-orange-500 dark:outline-orange-400': props.severity == 'warn',
22
+ 'outline-red-500 dark:outline-red-400': props.severity == 'error',
23
+ 'outline-surface-950 dark:outline-surface-0': props.severity == 'contrast'
24
+ },
25
+ {
26
+ 'text-blue-700 dark:text-blue-300': props.severity == 'info',
27
+ 'text-green-700 dark:text-green-300': props.severity == 'success',
28
+ 'text-surface-700 dark:text-surface-300': props.severity == 'secondary',
29
+ 'text-orange-700 dark:text-orange-300': props.severity == 'warn',
30
+ 'text-red-700 dark:text-red-300': props.severity == 'error',
31
+ 'text-surface-0 dark:text-surface-950': props.severity == 'contrast'
32
+ }
33
+ ]
34
+ }),
35
+ content: {
36
+ class: [
37
+ // Flexbox
38
+ 'flex items-center h-full',
39
+
40
+ // Spacing
41
+ 'py-3 px-5 gap-2'
42
+ ]
43
+ },
44
+ icon: {
45
+ class: [
46
+ // Sizing and Spacing
47
+ 'w-6 h-6',
48
+ 'text-lg leading-none shrink-0'
49
+ ]
50
+ },
51
+ text: {
52
+ class: [
53
+ // Font and Text
54
+ 'text-base leading-none',
55
+ 'font-medium'
56
+ ]
57
+ },
58
+ closeButton: {
59
+ class: [
60
+ // Flexbox
61
+ 'flex items-center justify-center',
62
+
63
+ // Size
64
+ 'w-8 h-8',
65
+
66
+ // Spacing and Misc
67
+ 'ml-auto relative',
68
+
69
+ // Shape
70
+ 'rounded-full',
71
+
72
+ // Colors
73
+ 'bg-transparent',
74
+
75
+ // Transitions
76
+ 'transition duration-200 ease-in-out',
77
+
78
+ // States
79
+ 'hover:bg-surface-0/50 dark:hover:bg-surface-0/10',
80
+
81
+ // Misc
82
+ 'overflow-hidden'
83
+ ]
84
+ },
85
+ transition: {
86
+ enterFromClass: 'opacity-0',
87
+ enterActiveClass: 'transition-opacity duration-300',
88
+ leaveFromClass: 'max-h-40',
89
+ leaveActiveClass: 'overflow-hidden transition-all duration-300 ease-in',
90
+ leaveToClass: 'max-h-0 opacity-0 !m-0'
91
+ }
92
+ };