@simitgroup/simpleapp-generator 1.6.6-i-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 (183) hide show
  1. package/ReleaseNote.md +6 -0
  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/src/simpleapp/generate/commons/runwebhook.service.ts.eta +99 -107
  52. package/templates/nest/src/simpleapp/generate/commons/user.context.ts.eta +2 -2
  53. package/templates/nest/src/simpleapp/generate/processors/simpleapp.processor.ts.eta +3 -15
  54. package/templates/nuxt/assets/css/style.css._eta +74 -28
  55. package/templates/nuxt/components/calendar/CalendarInput.vue.eta +1 -1
  56. package/templates/nuxt/components/calendar/CalendarSmall.vue.eta +7 -7
  57. package/templates/nuxt/components/debug/DebugDocumentData.vue.eta +2 -3
  58. package/templates/nuxt/components/header/HeaderBreadcrumb.vue.eta +3 -3
  59. package/templates/nuxt/components/header/button/task/HeaderButtonTaskList.vue.eta +2 -2
  60. package/templates/nuxt/components/list/ListDocumentTable.vue.eta +1 -1
  61. package/templates/nuxt/components/list/ListMessages.vue.eta +2 -2
  62. package/templates/nuxt/components/overlay/OverlayPanelWithToolBar.vue.eta +3 -3
  63. package/templates/nuxt/components/overlay/OverlaySideBarCrud.vue.eta +2 -2
  64. package/templates/nuxt/components/page/PageDocList.vue.eta +3 -3
  65. package/templates/nuxt/components/renderer/RendererDateAge.vue.eta +19 -0
  66. package/templates/nuxt/components/simpleApp/SimpleAppCalendarInput.vue.eta +4 -4
  67. package/templates/nuxt/components/simpleApp/SimpleAppDocumentNo.vue.eta +3 -3
  68. package/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta +2 -3
  69. package/templates/nuxt/components/simpleApp/SimpleAppJsonSchemaForm.vue.eta +2 -15
  70. package/templates/nuxt/components/user/UserButtonPermissionInfo.vue.eta +2 -2
  71. package/templates/nuxt/nuxt.config.ts._eta +6 -5
  72. package/templates/nuxt/pages/index.vue._eta +1 -1
  73. package/templates/nuxt/plugins/40.pusher.ts.eta +8 -2
  74. package/templates/nuxt/presets/lara/accordion/index.js +79 -0
  75. package/templates/nuxt/presets/lara/accordioncontent/index.js +3 -0
  76. package/templates/nuxt/presets/lara/accordionheader/index.js +11 -0
  77. package/templates/nuxt/presets/lara/accordionpanel/index.js +18 -0
  78. package/templates/nuxt/presets/lara/autocomplete/index.js +208 -0
  79. package/templates/nuxt/presets/lara/avatar/index.js +43 -0
  80. package/templates/nuxt/presets/lara/avatargroup/index.js +5 -0
  81. package/templates/nuxt/presets/lara/badge/index.js +47 -0
  82. package/templates/nuxt/presets/lara/badgedirective/index.js +43 -0
  83. package/templates/nuxt/presets/lara/blockui/index.js +4 -0
  84. package/templates/nuxt/presets/lara/breadcrumb/index.js +64 -0
  85. package/templates/nuxt/presets/lara/button/index.js +238 -0
  86. package/templates/nuxt/presets/lara/buttongroup/index.js +12 -0
  87. package/templates/nuxt/presets/lara/card/index.js +37 -0
  88. package/templates/nuxt/presets/lara/carousel/index.js +103 -0
  89. package/templates/nuxt/presets/lara/cascadeselect/index.js +199 -0
  90. package/templates/nuxt/presets/lara/checkbox/index.js +104 -0
  91. package/templates/nuxt/presets/lara/chip/index.js +42 -0
  92. package/templates/nuxt/presets/lara/colorpicker/index.js +123 -0
  93. package/templates/nuxt/presets/lara/confirmdialog/index.js +3 -0
  94. package/templates/nuxt/presets/lara/confirmpopup/index.js +56 -0
  95. package/templates/nuxt/presets/lara/contextmenu/index.js +126 -0
  96. package/templates/nuxt/presets/lara/datatable/index.js +403 -0
  97. package/templates/nuxt/presets/lara/dataview/index.js +28 -0
  98. package/templates/nuxt/presets/lara/datepicker/index.js +435 -0
  99. package/templates/nuxt/presets/lara/deferred/index.js +3 -0
  100. package/templates/nuxt/presets/lara/dialog/index.js +148 -0
  101. package/templates/nuxt/presets/lara/divider/index.js +67 -0
  102. package/templates/nuxt/presets/lara/dock/index.js +86 -0
  103. package/templates/nuxt/presets/lara/drawer/index.js +149 -0
  104. package/templates/nuxt/presets/lara/fieldset/index.js +84 -0
  105. package/templates/nuxt/presets/lara/fileupload/index.js +95 -0
  106. package/templates/nuxt/presets/lara/floatlabel/index.js +26 -0
  107. package/templates/nuxt/presets/lara/galleria/index.js +308 -0
  108. package/templates/nuxt/presets/lara/global.js +90 -0
  109. package/templates/nuxt/presets/lara/iconfield/index.js +27 -0
  110. package/templates/nuxt/presets/lara/image/index.js +206 -0
  111. package/templates/nuxt/presets/lara/index.js +234 -0
  112. package/templates/nuxt/presets/lara/inplace/index.js +27 -0
  113. package/templates/nuxt/presets/lara/inputgroup/index.js +5 -0
  114. package/templates/nuxt/presets/lara/inputgroupaddon/index.js +28 -0
  115. package/templates/nuxt/presets/lara/inputmask/index.js +39 -0
  116. package/templates/nuxt/presets/lara/inputnumber/index.js +167 -0
  117. package/templates/nuxt/presets/lara/inputotp/index.js +10 -0
  118. package/templates/nuxt/presets/lara/inputswitch/index.js +80 -0
  119. package/templates/nuxt/presets/lara/inputtext/index.js +54 -0
  120. package/templates/nuxt/presets/lara/knob/index.js +44 -0
  121. package/templates/nuxt/presets/lara/listbox/index.js +117 -0
  122. package/templates/nuxt/presets/lara/megamenu/index.js +198 -0
  123. package/templates/nuxt/presets/lara/menu/index.js +96 -0
  124. package/templates/nuxt/presets/lara/menubar/index.js +176 -0
  125. package/templates/nuxt/presets/lara/message/index.js +92 -0
  126. package/templates/nuxt/presets/lara/metergroup/index.js +96 -0
  127. package/templates/nuxt/presets/lara/multiselect/index.js +201 -0
  128. package/templates/nuxt/presets/lara/orderlist/index.js +13 -0
  129. package/templates/nuxt/presets/lara/organizationchart/index.js +137 -0
  130. package/templates/nuxt/presets/lara/overlaybadge/index.js +18 -0
  131. package/templates/nuxt/presets/lara/paginator/index.js +178 -0
  132. package/templates/nuxt/presets/lara/panel/index.js +91 -0
  133. package/templates/nuxt/presets/lara/panelmenu/index.js +127 -0
  134. package/templates/nuxt/presets/lara/password/index.js +72 -0
  135. package/templates/nuxt/presets/lara/picklist/index.js +52 -0
  136. package/templates/nuxt/presets/lara/popover/index.js +31 -0
  137. package/templates/nuxt/presets/lara/progressbar/index.js +55 -0
  138. package/templates/nuxt/presets/lara/progressspinner/index.js +51 -0
  139. package/templates/nuxt/presets/lara/radiobutton/index.js +104 -0
  140. package/templates/nuxt/presets/lara/rating/index.js +63 -0
  141. package/templates/nuxt/presets/lara/ripple/index.js +6 -0
  142. package/templates/nuxt/presets/lara/scrollpanel/index.js +77 -0
  143. package/templates/nuxt/presets/lara/scrolltop/index.js +26 -0
  144. package/templates/nuxt/presets/lara/select/index.js +240 -0
  145. package/templates/nuxt/presets/lara/selectbutton/index.js +16 -0
  146. package/templates/nuxt/presets/lara/skeleton/index.js +16 -0
  147. package/templates/nuxt/presets/lara/slider/index.js +137 -0
  148. package/templates/nuxt/presets/lara/speeddial/index.js +57 -0
  149. package/templates/nuxt/presets/lara/splitbutton/index.js +19 -0
  150. package/templates/nuxt/presets/lara/splitter/index.js +61 -0
  151. package/templates/nuxt/presets/lara/splitterpanel/index.js +5 -0
  152. package/templates/nuxt/presets/lara/step/index.js +62 -0
  153. package/templates/nuxt/presets/lara/stepitem/index.js +11 -0
  154. package/templates/nuxt/presets/lara/steplist/index.js +3 -0
  155. package/templates/nuxt/presets/lara/steppanels/index.js +3 -0
  156. package/templates/nuxt/presets/lara/stepper/index.js +13 -0
  157. package/templates/nuxt/presets/lara/steps/index.js +111 -0
  158. package/templates/nuxt/presets/lara/tab/index.js +42 -0
  159. package/templates/nuxt/presets/lara/tablist/index.js +8 -0
  160. package/templates/nuxt/presets/lara/tabmenu/index.js +73 -0
  161. package/templates/nuxt/presets/lara/tabpanel/index.js +3 -0
  162. package/templates/nuxt/presets/lara/tabpanels/index.js +3 -0
  163. package/templates/nuxt/presets/lara/tabs/index.js +5 -0
  164. package/templates/nuxt/presets/lara/tabview/index.js +156 -0
  165. package/templates/nuxt/presets/lara/tag/index.js +38 -0
  166. package/templates/nuxt/presets/lara/terminal/index.js +60 -0
  167. package/templates/nuxt/presets/lara/textarea/index.js +39 -0
  168. package/templates/nuxt/presets/lara/tieredmenu/index.js +121 -0
  169. package/templates/nuxt/presets/lara/timeline/index.js +81 -0
  170. package/templates/nuxt/presets/lara/toast/index.js +102 -0
  171. package/templates/nuxt/presets/lara/togglebutton/index.js +45 -0
  172. package/templates/nuxt/presets/lara/toggleswitch/index.js +80 -0
  173. package/templates/nuxt/presets/lara/toolbar/index.js +28 -0
  174. package/templates/nuxt/presets/lara/tooltip/index.js +46 -0
  175. package/templates/nuxt/presets/lara/tree/index.js +101 -0
  176. package/templates/nuxt/presets/lara/treeselect/index.js +102 -0
  177. package/templates/nuxt/presets/lara/treetable/index.js +305 -0
  178. package/templates/nuxt/simpleapp/generate/clients/SimpleAppClient.ts.eta +2 -16
  179. package/templates/nuxt/tailwind.config.ts._eta +4 -15
  180. package/templates/project/sharelibs/validate.ts.eta +23 -0
  181. /package/templates/nuxt/components/image/{ImageAvatar.vue.eta._vue → ImageAvatar.vue.eta} +0 -0
  182. /package/templates/nuxt/components/image/{ImageOrganization.vue.eta.vue → ImageOrganization.vue.eta} +0 -0
  183. /package/templates/nuxt/components/image/{ImageToBase64Uploader.vue.eta.vue → ImageToBase64Uploader.vue.eta} +0 -0
@@ -0,0 +1,91 @@
1
+ export default {
2
+ header: ({ props }) => ({
3
+ class: [
4
+ // Flex
5
+ 'flex items-center justify-between',
6
+
7
+ // Colors
8
+ 'text-surface-700 dark:text-surface-0/80',
9
+ 'bg-surface-50 dark:bg-surface-900',
10
+ 'border border-surface-200 dark:border-surface-700',
11
+
12
+ //Shape
13
+ 'rounded-tl-lg rounded-tr-lg',
14
+
15
+ // Conditional Spacing
16
+ { 'p-5': !props.toggleable, 'py-3 px-5': props.toggleable }
17
+ ]
18
+ }),
19
+ title: {
20
+ class: 'leading-none font-bold'
21
+ },
22
+ toggler: {
23
+ class: [
24
+ // Alignments
25
+ 'inline-flex items-center justify-center',
26
+ 'relative',
27
+
28
+ // Sized
29
+ 'w-8 h-8',
30
+ 'm-0 p-0',
31
+
32
+ //Shape
33
+ 'border-0 rounded-full',
34
+
35
+ //Color
36
+ 'bg-transparent',
37
+ 'text-surface-600 dark:text-surface-0/80',
38
+
39
+ // States
40
+ 'hover:text-surface-800 dark:hover:text-surface-0/80',
41
+ 'hover:bg-surface-100 dark:hover:bg-surface-800/80',
42
+ 'focus:outline-none focus:outline-offset-0 focus-visible:ring focus-visible:ring-primary-400/50 focus-visible:ring-inset dark:focus-visible:ring-primary-300/50',
43
+
44
+ // Transitions
45
+ 'transition-all duration-200 ease-in-out',
46
+
47
+ // Misc
48
+ 'overflow-hidden no-underline',
49
+ 'cursor-pointer'
50
+ ]
51
+ },
52
+ togglerIcon: {
53
+ class: 'inline-block'
54
+ },
55
+ content: {
56
+ class: [
57
+ // Spacing
58
+ 'p-5',
59
+
60
+ // Shape
61
+ 'border border-t-0 last:rounded-br-lg last:rounded-bl-lg',
62
+
63
+ //Color
64
+ 'border-surface-200 dark:border-surface-700',
65
+ 'bg-surface-0 dark:bg-surface-900',
66
+ 'text-surface-700 dark:text-surface-0/80'
67
+ ]
68
+ },
69
+ footer: {
70
+ class: [
71
+ // Spacing
72
+ 'py-3 p-5',
73
+
74
+ // Shape
75
+ 'border border-t-0 rounded-br-lg rounded-bl-lg',
76
+
77
+ //Color
78
+ 'border-surface-200 dark:border-surface-700',
79
+ 'bg-surface-0 dark:bg-surface-900',
80
+ 'text-surface-700 dark:text-surface-0/80'
81
+ ]
82
+ },
83
+ transition: {
84
+ enterFromClass: 'max-h-0',
85
+ enterActiveClass: 'overflow-hidden transition-[max-height] duration-1000 ease-[cubic-bezier(0.42,0,0.58,1)]',
86
+ enterToClass: 'max-h-[1000px]',
87
+ leaveFromClass: 'max-h-[1000px]',
88
+ leaveActiveClass: 'overflow-hidden transition-[max-height] duration-[450ms] ease-[cubic-bezier(0,1,0,1)]',
89
+ leaveToClass: 'max-h-0'
90
+ }
91
+ };
@@ -0,0 +1,127 @@
1
+ export default {
2
+ panel: {
3
+ class: 'mb-1'
4
+ },
5
+ header: {
6
+ class: ['rounded-md', 'outline-none', 'focus-visible:outline-none focus-visible:outline-offset-0 focus-visible:ring focus-visible:ring-primary-400/50 dark:focus-visible:ring-primary-300/50']
7
+ },
8
+ headerContent: ({ context, instance }) => ({
9
+ class: [
10
+ // Shape
11
+ 'rounded-t-md',
12
+ { 'rounded-br-md rounded-bl-md': !context.active || instance.activeItem?.items === undefined, 'rounded-br-0 rounded-bl-0': context.active && instance.activeItem?.items !== undefined },
13
+
14
+ // Color
15
+ 'border border-surface-200 dark:border-surface-700',
16
+ 'bg-surface-50 dark:bg-surface-800',
17
+ 'text-surface-600 dark:text-surface-0/80',
18
+ { 'text-surface-900': context.active },
19
+
20
+ // States
21
+ 'hover:bg-surface-100 dark:hover:bg-surface-700',
22
+ 'hover:text-surface-900',
23
+
24
+ // Transition
25
+ 'transition duration-200 ease-in-out',
26
+ 'transition-shadow duration-200'
27
+ ]
28
+ }),
29
+ headerLink: {
30
+ class: [
31
+ 'relative',
32
+
33
+ // Font
34
+ 'font-bold',
35
+ 'leading-none',
36
+
37
+ // Flex & Alignments
38
+ 'flex items-center',
39
+
40
+ // Spacing
41
+ 'p-5',
42
+
43
+ // Misc
44
+ 'select-none cursor-pointer no-underline'
45
+ ]
46
+ },
47
+ headerLabel: {
48
+ class: 'leading-none'
49
+ },
50
+ headerIcon: {
51
+ class: 'mr-2'
52
+ },
53
+ submenuIcon: {
54
+ class: 'mr-2'
55
+ },
56
+ content: {
57
+ class: [
58
+ // Spacing
59
+ 'py-2',
60
+
61
+ // Shape
62
+ 'border border-t-0',
63
+ 'rounded-t-none rounded-br-md rounded-bl-md',
64
+
65
+ // Color
66
+ 'text-surface-700 dark:text-white/80',
67
+ 'bg-surface-0 dark:bg-surface-800',
68
+ 'border-surface-200 dark:border-surface-700'
69
+ ]
70
+ },
71
+ rootList: {
72
+ class: ['outline-none', 'm-0 p-0 list-none']
73
+ },
74
+ itemContent: {
75
+ class: [
76
+ // Shape
77
+ 'border-none rounded-none',
78
+
79
+ // Color
80
+ 'text-surface-700 dark:text-white/80',
81
+
82
+ // Transition
83
+ 'transition-shadow duration-200'
84
+ ]
85
+ },
86
+ itemLink: ({ context }) => ({
87
+ class: [
88
+ 'relative',
89
+
90
+ // Font
91
+ 'leading-none',
92
+
93
+ // Flex & Alignments
94
+ 'flex items-center',
95
+
96
+ // Spacing
97
+ 'py-3 px-5',
98
+
99
+ // Color
100
+ 'text-surface-700 dark:text-white/80',
101
+
102
+ // States
103
+ 'hover:bg-surface-100 dark:hover:bg-surface-700/80 hover:text-surface-700 dark:hover:text-white/80',
104
+ {
105
+ 'bg-surface-200 text-surface-700 dark:text-white/80 dark:bg-surface-600/90': context.focused
106
+ },
107
+
108
+ // Misc
109
+ 'cursor-pointer no-underline',
110
+ 'select-none overflow-hidden'
111
+ ]
112
+ }),
113
+ itemIcon: {
114
+ class: 'mr-2'
115
+ },
116
+ submenu: {
117
+ class: 'p-0 pl-4 m-0 list-none'
118
+ },
119
+ transition: {
120
+ enterFromClass: 'max-h-0',
121
+ enterActiveClass: 'overflow-hidden transition-[max-height] duration-1000 ease-[cubic-bezier(0.42,0,0.58,1)]',
122
+ enterToClass: 'max-h-[1000px]',
123
+ leaveFromClass: 'max-h-[1000px]',
124
+ leaveActiveClass: 'overflow-hidden transition-[max-height] duration-[450ms] ease-[cubic-bezier(0,1,0,1)]',
125
+ leaveToClass: 'max-h-0'
126
+ }
127
+ };
@@ -0,0 +1,72 @@
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ 'relative',
5
+ { 'flex [&>input]:w-full': props.fluid, 'inline-flex': !props.fluid },
6
+ {
7
+ 'opacity-60 select-none pointer-events-none cursor-default': props.disabled
8
+ },
9
+ { '[&>input]:pr-10': props.toggleMask }
10
+ ]
11
+ }),
12
+ overlay: {
13
+ class: [
14
+ // Spacing
15
+ 'p-5',
16
+
17
+ // Shape
18
+ 'border-0 dark:border',
19
+ 'shadow-md rounded-md',
20
+
21
+ // Colors
22
+ 'bg-surface-0 dark:bg-surface-900',
23
+ 'text-surface-700 dark:text-white/80',
24
+ 'dark:border-surface-700'
25
+ ]
26
+ },
27
+ meter: {
28
+ class: [
29
+ // Position and Overflow
30
+ 'overflow-hidden',
31
+ 'relative',
32
+
33
+ // Shape and Size
34
+ 'border-0',
35
+ 'h-3',
36
+
37
+ // Spacing
38
+ 'mb-2',
39
+
40
+ // Colors
41
+ 'bg-surface-100 dark:bg-surface-700'
42
+ ]
43
+ },
44
+ meterLabel: ({ instance }) => ({
45
+ class: [
46
+ // Size
47
+ 'h-full',
48
+
49
+ // Colors
50
+ {
51
+ 'bg-red-500 dark:bg-red-400/50': instance?.meter?.strength == 'weak',
52
+ 'bg-orange-500 dark:bg-orange-400/50': instance?.meter?.strength == 'medium',
53
+ 'bg-green-500 dark:bg-green-400/50': instance?.meter?.strength == 'strong'
54
+ },
55
+
56
+ // Transitions
57
+ 'transition-all duration-1000 ease-in-out'
58
+ ]
59
+ }),
60
+ maskIcon: {
61
+ class: ['absolute top-1/2 right-3 -mt-2 z-10', 'text-surface-600 dark:text-white/70']
62
+ },
63
+ unmaskIcon: {
64
+ class: ['absolute top-1/2 right-3 -mt-2 z-10', 'text-surface-600 dark:text-white/70']
65
+ },
66
+ transition: {
67
+ enterFromClass: 'opacity-0 scale-y-[0.8]',
68
+ enterActiveClass: 'transition-[transform,opacity] duration-[120ms] ease-[cubic-bezier(0,0,0.2,1)]',
69
+ leaveActiveClass: 'transition-opacity duration-100 ease-linear',
70
+ leaveToClass: 'opacity-0'
71
+ }
72
+ };
@@ -0,0 +1,52 @@
1
+ export default {
2
+ root: 'flex [&_[data-pc-name=pclist]]:h-full',
3
+ sourceControls: {
4
+ class: [
5
+ // Flexbox & Alignment
6
+ 'flex lg:flex-col justify-center gap-2',
7
+
8
+ // Spacing
9
+ 'p-5'
10
+ ]
11
+ },
12
+ sourceListContainer: {
13
+ class: [
14
+ // Flexbox
15
+ 'grow shrink basis-2/4',
16
+
17
+ // Shape
18
+ 'rounded-md',
19
+
20
+ // Color
21
+ 'bg-surface-0 dark:bg-surface-900',
22
+ 'border border-surface-200 dark:border-surface-700',
23
+ 'outline-none'
24
+ ]
25
+ },
26
+ transferControls: {
27
+ class: 'flex lg:flex-col justify-center gap-2 p-5'
28
+ },
29
+ targetListContainer: {
30
+ class: [
31
+ // Flexbox
32
+ 'grow shrink basis-2/4',
33
+
34
+ // Shape
35
+ 'rounded-md',
36
+
37
+ // Color
38
+ 'bg-surface-0 dark:bg-surface-900',
39
+ 'border border-surface-200 dark:border-surface-700',
40
+ 'outline-none'
41
+ ]
42
+ },
43
+ targetControls: {
44
+ class: 'flex lg:flex-col justify-center gap-2 p-5'
45
+ },
46
+ transition: {
47
+ enterFromClass: '!transition-none',
48
+ enterActiveClass: '!transition-none',
49
+ leaveActiveClass: '!transition-none',
50
+ leaveToClass: '!transition-none'
51
+ }
52
+ };
@@ -0,0 +1,31 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ // Shape
5
+ 'rounded-md shadow-lg',
6
+ 'border-0 dark:border',
7
+
8
+ // Position
9
+ 'absolute left-0 top-0 mt-2',
10
+ 'z-40 transform origin-center',
11
+
12
+ // Color
13
+ 'bg-surface-0 dark:bg-surface-800',
14
+ 'text-surface-700 dark:text-surface-0/80',
15
+ 'dark:border-surface-700',
16
+
17
+ // Before: Arrow
18
+ 'before:absolute before:w-0 before:-top-3 before:h-0 before:border-transparent before:border-solid before:ml-[10px] before:border-x-[10px] before:border-b-[10px] before:border-t-0 before:border-b-surface-300/10 dark:before:border-b-surface-700',
19
+ 'after:absolute after:w-0 after:-top-[0.54rem] after:left-[4px] after:h-0 after:border-transparent after:border-solid after:ml-[8px] after:border-x-[8px] after:border-b-[8px] after:border-t-0 after:border-b-surface-0 dark:after:border-b-surface-800'
20
+ ]
21
+ },
22
+ content: {
23
+ class: 'p-5 items-center flex'
24
+ },
25
+ transition: {
26
+ enterFromClass: 'opacity-0 scale-y-[0.8]',
27
+ enterActiveClass: 'transition-[transform,opacity] duration-[120ms] ease-[cubic-bezier(0,0,0.2,1)]',
28
+ leaveActiveClass: 'transition-opacity duration-100 ease-linear',
29
+ leaveToClass: 'opacity-0'
30
+ }
31
+ };
@@ -0,0 +1,55 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ // Position and Overflow
5
+ 'overflow-hidden',
6
+ 'relative',
7
+
8
+ // Shape and Size
9
+ 'border-0',
10
+ 'h-6',
11
+ 'rounded-md',
12
+
13
+ // Colors
14
+ 'bg-surface-100 dark:bg-surface-700'
15
+ ]
16
+ },
17
+ value: ({ props }) => ({
18
+ class: [
19
+ // Flexbox & Overflow & Position
20
+ { 'absolute flex items-center justify-center overflow-hidden': props.mode !== 'indeterminate' },
21
+
22
+ // Colors
23
+ 'bg-primary',
24
+
25
+ // Spacing & Sizing
26
+ 'm-0',
27
+ { 'h-full w-0': props.mode !== 'indeterminate' },
28
+
29
+ // Shape
30
+ 'border-0',
31
+
32
+ // Transitions
33
+ {
34
+ 'transition-width duration-1000 ease-in-out': props.mode !== 'indeterminate',
35
+ 'progressbar-value-animate': props.mode == 'indeterminate'
36
+ },
37
+
38
+ // Before & After (indeterminate)
39
+ {
40
+ 'before:absolute before:top-0 before:left-0 before:bottom-0 before:bg-inherit ': props.mode == 'indeterminate',
41
+ 'after:absolute after:top-0 after:left-0 after:bottom-0 after:bg-inherit after:delay-1000': props.mode == 'indeterminate'
42
+ }
43
+ ]
44
+ }),
45
+ label: {
46
+ class: [
47
+ // Flexbox
48
+ 'inline-flex',
49
+
50
+ // Font and Text
51
+ 'text-white dark:text-surface-900',
52
+ 'leading-6'
53
+ ]
54
+ }
55
+ };
@@ -0,0 +1,51 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ // Position
5
+ 'relative',
6
+ 'mx-auto',
7
+
8
+ // Sizing
9
+ 'w-28',
10
+ 'h-28',
11
+
12
+ // Flexbox
13
+ 'inline-block',
14
+
15
+ // Pseudo-Elements
16
+ 'before:block',
17
+ 'before:pt-full'
18
+ ]
19
+ },
20
+ spinner: {
21
+ class: [
22
+ // Position
23
+ 'absolute',
24
+ 'top-0',
25
+ 'bottom-0',
26
+ 'left-0',
27
+ 'right-0',
28
+ 'm-auto',
29
+
30
+ // Sizing
31
+ 'w-full',
32
+ 'h-full',
33
+
34
+ // Transformations
35
+ 'transform',
36
+ 'origin-center',
37
+
38
+ // Animations
39
+ 'animate-spin'
40
+ ]
41
+ },
42
+ circle: {
43
+ class: [
44
+ // Colors
45
+ 'text-red-500',
46
+
47
+ // Misc
48
+ 'progress-spinner-circle'
49
+ ]
50
+ }
51
+ };
@@ -0,0 +1,104 @@
1
+ export default {
2
+ root: {
3
+ class: [
4
+ 'relative',
5
+
6
+ // Flexbox & Alignment
7
+ 'inline-flex',
8
+ 'align-bottom',
9
+
10
+ // Size
11
+ 'w-[1.571rem] h-[1.571rem]',
12
+
13
+ // Misc
14
+ 'cursor-pointer',
15
+ 'select-none'
16
+ ]
17
+ },
18
+ box: ({ props }) => ({
19
+ class: [
20
+ // Flexbox
21
+ 'flex justify-center items-center',
22
+
23
+ // Size
24
+ 'w-[1.571rem] h-[1.571rem]',
25
+
26
+ // Shape
27
+ 'border-2',
28
+ 'rounded-full',
29
+
30
+ // Transition
31
+ 'transition duration-200 ease-in-out',
32
+
33
+ // Colors
34
+ {
35
+ 'text-surface-700 dark:text-white/80': props.value !== props.modelValue && props.value !== undefined,
36
+ 'bg-surface-0 dark:bg-surface-900': props.value !== props.modelValue && props.value !== undefined,
37
+ 'border-surface-100 dark:border-surface-700': props.value !== props.modelValue && props.value !== undefined && !props.invalid,
38
+ 'border-primary': props.value == props.modelValue && props.value !== undefined,
39
+ 'bg-primary': props.value == props.modelValue && props.value !== undefined
40
+ },
41
+ // Invalid State
42
+ { 'border-red-500 dark:border-red-400': props.invalid },
43
+
44
+ // States
45
+ {
46
+ 'peer-hover:border-primary dark:peer-hover:border-primary': !props.disabled && !props.invalid,
47
+ 'peer-hover:border-primary-emphasis peer-hover:bg-primary-emphasis': !props.disabled && props.value == props.modelValue && props.value !== undefined,
48
+ 'peer-focus-visible:border-primary-500 dark:peer-focus-visible:border-primary-400 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-400/20 dark:peer-focus-visible:ring-primary-300/20': !props.disabled,
49
+ 'opacity-60 cursor-default': props.disabled
50
+ }
51
+ ]
52
+ }),
53
+ input: {
54
+ class: [
55
+ 'peer',
56
+
57
+ // Size
58
+ 'w-full ',
59
+ 'h-full',
60
+
61
+ // Position
62
+ 'absolute',
63
+ 'top-0 left-0',
64
+ 'z-10',
65
+
66
+ // Spacing
67
+ 'p-0',
68
+ 'm-0',
69
+
70
+ // Shape
71
+ 'opacity-0',
72
+ 'rounded-md',
73
+ 'outline-none',
74
+ 'border-2 border-surface-200 dark:border-surface-700',
75
+
76
+ // Misc
77
+ 'appearance-none',
78
+ 'cursor-pointer'
79
+ ]
80
+ },
81
+ icon: ({ props }) => ({
82
+ class: [
83
+ 'block',
84
+
85
+ // Shape
86
+ 'rounded-full',
87
+
88
+ // Size
89
+ 'w-[0.857rem] h-[0.857rem]',
90
+
91
+ // Colors
92
+ 'bg-surface-0 dark:bg-surface-900',
93
+
94
+ // Conditions
95
+ {
96
+ 'backface-hidden scale-10 invisible': props.value !== props.modelValue,
97
+ 'transform visible scale-[1.1]': props.value == props.modelValue
98
+ },
99
+
100
+ // Transition
101
+ 'transition duration-200'
102
+ ]
103
+ })
104
+ };
@@ -0,0 +1,63 @@
1
+ export default {
2
+ root: ({ props }) => ({
3
+ class: [
4
+ 'relative',
5
+
6
+ // Flex & Alignment
7
+ 'flex items-center',
8
+ 'gap-2',
9
+
10
+ // Misc
11
+ {
12
+ 'opacity-60 select-none pointer-events-none cursor-default': props.disabled
13
+ }
14
+ ]
15
+ }),
16
+ option: ({ props, context }) => ({
17
+ class: [
18
+ // Flex & Alignment
19
+ 'inline-flex items-center',
20
+
21
+ // State
22
+ {
23
+ 'outline-none ring ring-primary-500/50 dark:ring-primary-400/50': context.focused
24
+ },
25
+
26
+ // Misc
27
+ {
28
+ 'cursor-pointer': !props.readonly,
29
+ 'cursor-default': props.readonly
30
+ }
31
+ ]
32
+ }),
33
+ offIcon: ({ props }) => ({
34
+ class: [
35
+ // Size
36
+ 'w-5 h-5',
37
+
38
+ // Color
39
+ 'text-surface-700 dark:text-surface-0/80',
40
+
41
+ // State
42
+ { 'hover:text-primary-500 dark:hover:text-primary-400': !props.readonly },
43
+
44
+ // Transition
45
+ 'transition duration-200 ease-in'
46
+ ]
47
+ }),
48
+ onIcon: ({ props }) => ({
49
+ class: [
50
+ // Size
51
+ 'w-5 h-5',
52
+
53
+ // Color
54
+ 'text-primary',
55
+
56
+ // State
57
+ { 'hover:text-primary-600 dark:hover:text-primary-300': !props.readonly },
58
+
59
+ // Transition
60
+ 'transition duration-200 ease-in'
61
+ ]
62
+ })
63
+ };
@@ -0,0 +1,6 @@
1
+ export default {
2
+ root: {
3
+ class: ['block absolute bg-surface-0/50 rounded-full pointer-events-none'],
4
+ style: 'transform: scale(0)'
5
+ }
6
+ };