django-smartbase-admin 0.2.47__py3-none-any.whl → 1.0.38__py3-none-any.whl

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 (188) hide show
  1. django_smartbase_admin/actions/admin_action_list.py +80 -51
  2. django_smartbase_admin/actions/advanced_filters.py +55 -20
  3. django_smartbase_admin/admin/admin_base.py +477 -89
  4. django_smartbase_admin/admin/site.py +104 -34
  5. django_smartbase_admin/admin/widgets.py +598 -26
  6. django_smartbase_admin/apps.py +2 -0
  7. django_smartbase_admin/engine/actions.py +34 -16
  8. django_smartbase_admin/engine/admin_base_view.py +253 -115
  9. django_smartbase_admin/engine/configuration.py +186 -4
  10. django_smartbase_admin/engine/const.py +7 -0
  11. django_smartbase_admin/engine/dashboard.py +44 -23
  12. django_smartbase_admin/engine/fake_inline.py +44 -7
  13. django_smartbase_admin/engine/field.py +54 -10
  14. django_smartbase_admin/engine/field_formatter.py +32 -9
  15. django_smartbase_admin/engine/filter_widgets.py +356 -21
  16. django_smartbase_admin/engine/menu_item.py +8 -5
  17. django_smartbase_admin/engine/modal_view.py +12 -7
  18. django_smartbase_admin/engine/request.py +2 -0
  19. django_smartbase_admin/integration/__init__.py +0 -0
  20. django_smartbase_admin/integration/django_cms.py +43 -0
  21. django_smartbase_admin/locale/sk/LC_MESSAGES/django.mo +0 -0
  22. django_smartbase_admin/locale/sk/LC_MESSAGES/django.po +268 -37
  23. django_smartbase_admin/migrations/0005_sbadminuserconfiguration.py +26 -0
  24. django_smartbase_admin/migrations/0006_alter_sbadminuserconfiguration_color_scheme.py +18 -0
  25. django_smartbase_admin/models.py +22 -0
  26. django_smartbase_admin/monkeypatch/admin_readonly_field_monkeypatch.py +96 -0
  27. django_smartbase_admin/monkeypatch/fake_inline_monkeypatch.py +1 -1
  28. django_smartbase_admin/querysets.py +3 -0
  29. django_smartbase_admin/services/configuration.py +30 -0
  30. django_smartbase_admin/services/thread_local.py +6 -19
  31. django_smartbase_admin/services/views.py +82 -27
  32. django_smartbase_admin/services/xlsx_export.py +6 -0
  33. django_smartbase_admin/static/sb_admin/build/tailwind.config.js +1 -0
  34. django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/colors.js +4 -0
  35. django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/spacing.js +1 -0
  36. django_smartbase_admin/static/sb_admin/build/webpack.common.js +11 -8
  37. django_smartbase_admin/static/sb_admin/css/ckeditor/ckeditor_content_dark.css +208 -0
  38. django_smartbase_admin/static/sb_admin/css/coloris/coloris.min.css +1 -0
  39. django_smartbase_admin/static/sb_admin/dist/calendar.js +1 -0
  40. django_smartbase_admin/static/sb_admin/dist/calendar_style.css +1 -0
  41. django_smartbase_admin/static/sb_admin/dist/calendar_style.js +0 -0
  42. django_smartbase_admin/static/sb_admin/dist/chart.js +1 -1
  43. django_smartbase_admin/static/sb_admin/dist/main.js +1 -1
  44. django_smartbase_admin/static/sb_admin/dist/main_style.css +1 -1
  45. django_smartbase_admin/static/sb_admin/dist/table.js +1 -1
  46. django_smartbase_admin/static/sb_admin/dist/table.js.LICENSE.txt +9 -0
  47. django_smartbase_admin/static/sb_admin/dist/tree_widget.js +1 -0
  48. django_smartbase_admin/static/sb_admin/dist/tree_widget_style.css +1 -0
  49. django_smartbase_admin/static/sb_admin/dist/tree_widget_style.js +0 -0
  50. django_smartbase_admin/static/sb_admin/fancytree/jquery.fancytree-all-deps.min.js +1 -0
  51. django_smartbase_admin/static/sb_admin/images/file_types/file-csv.svg +11 -0
  52. django_smartbase_admin/static/sb_admin/images/file_types/file-doc.svg +11 -0
  53. django_smartbase_admin/static/sb_admin/images/file_types/file-docx.svg +11 -0
  54. django_smartbase_admin/static/sb_admin/images/file_types/file-other.svg +13 -0
  55. django_smartbase_admin/static/sb_admin/images/file_types/file-pdf.svg +11 -0
  56. django_smartbase_admin/static/sb_admin/images/file_types/file-ppt.svg +11 -0
  57. django_smartbase_admin/static/sb_admin/images/file_types/file-xls.svg +11 -0
  58. django_smartbase_admin/static/sb_admin/images/file_types/file-xlsx.svg +11 -0
  59. django_smartbase_admin/static/sb_admin/images/file_types/file-zip.svg +18 -0
  60. django_smartbase_admin/static/sb_admin/images/flags/de-at.png +0 -0
  61. django_smartbase_admin/static/sb_admin/images/flags/de-ch.png +0 -0
  62. django_smartbase_admin/static/sb_admin/images/logo_light.svg +21 -0
  63. django_smartbase_admin/static/sb_admin/js/coloris/coloris.min.js +6 -0
  64. django_smartbase_admin/static/sb_admin/js/fullcalendar.min.js +14804 -0
  65. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bolt-one.svg +3 -0
  66. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Calendar.svg +3 -0
  67. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Caution.svg +3 -0
  68. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Electric-drill.svg +3 -0
  69. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Fire-extinguisher.svg +3 -0
  70. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Gas.svg +3 -0
  71. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lightning-fill.svg +3 -0
  72. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Moon.svg +3 -0
  73. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Phone-telephone.svg +3 -0
  74. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Printer.svg +3 -0
  75. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pull.svg +3 -0
  76. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-one.svg +3 -0
  77. django_smartbase_admin/static/sb_admin/sprites/sb_admin/Time.svg +3 -0
  78. django_smartbase_admin/static/sb_admin/src/css/_base.css +5 -1
  79. django_smartbase_admin/static/sb_admin/src/css/_colors.css +257 -82
  80. django_smartbase_admin/static/sb_admin/src/css/_components.css +66 -13
  81. django_smartbase_admin/static/sb_admin/src/css/_datepicker.css +8 -1
  82. django_smartbase_admin/static/sb_admin/src/css/_filer.css +60 -0
  83. django_smartbase_admin/static/sb_admin/src/css/_inlines.css +51 -10
  84. django_smartbase_admin/static/sb_admin/src/css/_tabulator.css +8 -2
  85. django_smartbase_admin/static/sb_admin/src/css/calendar.css +162 -0
  86. django_smartbase_admin/static/sb_admin/src/css/components/_button.css +41 -1
  87. django_smartbase_admin/static/sb_admin/src/css/components/_dropdown.css +26 -8
  88. django_smartbase_admin/static/sb_admin/src/css/components/_input.css +62 -20
  89. django_smartbase_admin/static/sb_admin/src/css/components/_modal.css +1 -1
  90. django_smartbase_admin/static/sb_admin/src/css/components/_query-builder.css +21 -2
  91. django_smartbase_admin/static/sb_admin/src/css/components/_toggle.css +12 -1
  92. django_smartbase_admin/static/sb_admin/src/css/components/_tooltip.css +8 -22
  93. django_smartbase_admin/static/sb_admin/src/css/style.css +17 -0
  94. django_smartbase_admin/static/sb_admin/src/css/tree_widget.css +411 -0
  95. django_smartbase_admin/static/sb_admin/src/js/autocomplete.js +63 -5
  96. django_smartbase_admin/static/sb_admin/src/js/calendar.js +56 -0
  97. django_smartbase_admin/static/sb_admin/src/js/chart.js +8 -22
  98. django_smartbase_admin/static/sb_admin/src/js/choices.js +18 -8
  99. django_smartbase_admin/static/sb_admin/src/js/datepicker.js +97 -336
  100. django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js +357 -0
  101. django_smartbase_admin/static/sb_admin/src/js/main.js +307 -26
  102. django_smartbase_admin/static/sb_admin/src/js/multiselect.js +50 -41
  103. django_smartbase_admin/static/sb_admin/src/js/range.js +3 -2
  104. django_smartbase_admin/static/sb_admin/src/js/sb_ajax_params_tabulator_modifier.js +21 -0
  105. django_smartbase_admin/static/sb_admin/src/js/table.js +38 -13
  106. django_smartbase_admin/static/sb_admin/src/js/table_modules/advanced_filter_module.js +43 -20
  107. django_smartbase_admin/static/sb_admin/src/js/table_modules/data_edit_module.js +8 -10
  108. django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js +3 -3
  109. django_smartbase_admin/static/sb_admin/src/js/table_modules/header_tabs_module.js +11 -11
  110. django_smartbase_admin/static/sb_admin/src/js/table_modules/selection_module.js +28 -8
  111. django_smartbase_admin/static/sb_admin/src/js/table_modules/table_params_module.js +6 -0
  112. django_smartbase_admin/static/sb_admin/src/js/table_modules/views_module.js +19 -3
  113. django_smartbase_admin/static/sb_admin/src/js/tree_widget.js +406 -0
  114. django_smartbase_admin/static/sb_admin/src/js/utils.js +56 -21
  115. django_smartbase_admin/templates/sb_admin/actions/change_form.html +169 -117
  116. django_smartbase_admin/templates/sb_admin/actions/dashboard.html +2 -2
  117. django_smartbase_admin/templates/sb_admin/actions/delete_selected_confirmation.html +56 -32
  118. django_smartbase_admin/templates/sb_admin/actions/list.html +79 -42
  119. django_smartbase_admin/templates/sb_admin/actions/object_history.html +2 -2
  120. django_smartbase_admin/templates/sb_admin/actions/partials/action_link.html +14 -0
  121. django_smartbase_admin/templates/sb_admin/actions/partials/selected_rows_actions.html +2 -2
  122. django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_v2.html +2 -2
  123. django_smartbase_admin/templates/sb_admin/actions/tree_list.html +63 -0
  124. django_smartbase_admin/templates/sb_admin/authentification/login_base.html +5 -1
  125. django_smartbase_admin/templates/sb_admin/components/columns.html +1 -1
  126. django_smartbase_admin/templates/sb_admin/components/filters_v2.html +99 -85
  127. django_smartbase_admin/templates/sb_admin/config/view.html +0 -1
  128. django_smartbase_admin/templates/sb_admin/dashboard/calendar_widget.html +69 -0
  129. django_smartbase_admin/templates/sb_admin/dashboard/chart_widget.html +21 -2
  130. django_smartbase_admin/templates/sb_admin/dashboard/list_widget.html +6 -0
  131. django_smartbase_admin/templates/sb_admin/dashboard/widget_base.html +1 -1
  132. django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/date_field.html +18 -8
  133. django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/multiple_choice_field.html +1 -1
  134. django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/tree_select_filter.html +2 -0
  135. django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html +18 -4
  136. django_smartbase_admin/templates/sb_admin/filter_widgets/multiple_choice_field.html +14 -0
  137. django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html +10 -5
  138. django_smartbase_admin/templates/sb_admin/filter_widgets/radio_choice_field.html +2 -2
  139. django_smartbase_admin/templates/sb_admin/filter_widgets/tree_select_filter.html +16 -0
  140. django_smartbase_admin/templates/sb_admin/includes/change_form_title.html +3 -1
  141. django_smartbase_admin/templates/sb_admin/includes/components.html +5 -1
  142. django_smartbase_admin/templates/sb_admin/includes/inline_fieldset.html +48 -39
  143. django_smartbase_admin/templates/sb_admin/includes/notifications.html +2 -1
  144. django_smartbase_admin/templates/sb_admin/includes/readonly_boolean_field.html +9 -0
  145. django_smartbase_admin/templates/sb_admin/includes/readonly_field.html +12 -0
  146. django_smartbase_admin/templates/sb_admin/includes/table_inline_delete_button.html +4 -5
  147. django_smartbase_admin/templates/sb_admin/inlines/stacked_inline.html +68 -40
  148. django_smartbase_admin/templates/sb_admin/inlines/table_inline.html +78 -36
  149. django_smartbase_admin/templates/sb_admin/integrations/filer/folder_list.html +18 -0
  150. django_smartbase_admin/templates/sb_admin/navigation.html +166 -158
  151. django_smartbase_admin/templates/sb_admin/partials/modal/modal_content.html +2 -6
  152. django_smartbase_admin/templates/sb_admin/sb_admin_base.html +49 -4
  153. django_smartbase_admin/templates/sb_admin/sb_admin_base_no_sidebar.html +35 -11
  154. django_smartbase_admin/templates/sb_admin/sb_admin_js_trans.html +3 -0
  155. django_smartbase_admin/templates/sb_admin/sprites/sb_admin.svg +1 -1
  156. django_smartbase_admin/templates/sb_admin/tailwind_whitelist.html +6 -3
  157. django_smartbase_admin/templates/sb_admin/widgets/array.html +0 -1
  158. django_smartbase_admin/templates/sb_admin/widgets/attributes.html +68 -0
  159. django_smartbase_admin/templates/sb_admin/widgets/autocomplete.html +13 -2
  160. django_smartbase_admin/templates/sb_admin/widgets/{checkbox_select.html → checkbox_dropdown.html} +2 -2
  161. django_smartbase_admin/templates/sb_admin/widgets/checkbox_group.html +15 -0
  162. django_smartbase_admin/templates/sb_admin/widgets/clearable_file_input.html +2 -2
  163. django_smartbase_admin/templates/sb_admin/widgets/color_field.html +30 -0
  164. django_smartbase_admin/templates/sb_admin/widgets/date.html +8 -1
  165. django_smartbase_admin/templates/sb_admin/widgets/filer_file.html +84 -0
  166. django_smartbase_admin/templates/sb_admin/widgets/html_read_only.html +1 -0
  167. django_smartbase_admin/templates/sb_admin/widgets/includes/related_item_buttons.html +38 -0
  168. django_smartbase_admin/templates/sb_admin/widgets/multiwidget.html +1 -1
  169. django_smartbase_admin/templates/sb_admin/widgets/radio.html +3 -2
  170. django_smartbase_admin/templates/sb_admin/widgets/radio_dropdown.html +30 -0
  171. django_smartbase_admin/templates/sb_admin/widgets/read_only_password_hash.html +3 -0
  172. django_smartbase_admin/templates/sb_admin/widgets/time.html +8 -1
  173. django_smartbase_admin/templates/sb_admin/widgets/toggle.html +1 -1
  174. django_smartbase_admin/templates/sb_admin/widgets/tree_base.html +59 -0
  175. django_smartbase_admin/templates/sb_admin/widgets/tree_select.html +24 -0
  176. django_smartbase_admin/templates/sb_admin/widgets/tree_select_inline.html +12 -0
  177. django_smartbase_admin/templatetags/sb_admin_tags.py +163 -4
  178. django_smartbase_admin/utils.py +22 -3
  179. django_smartbase_admin/views/dashboard_view.py +6 -0
  180. django_smartbase_admin/views/global_filter_view.py +8 -2
  181. django_smartbase_admin/views/translations_view.py +12 -5
  182. django_smartbase_admin/views/user_config_view.py +52 -0
  183. django_smartbase_admin-1.0.38.dist-info/METADATA +166 -0
  184. {django_smartbase_admin-0.2.47.dist-info → django_smartbase_admin-1.0.38.dist-info}/RECORD +186 -121
  185. {django_smartbase_admin-0.2.47.dist-info → django_smartbase_admin-1.0.38.dist-info}/WHEEL +1 -1
  186. django_smartbase_admin/templates/sb_admin/integrations/sorting/change_list.html +0 -401
  187. django_smartbase_admin-0.2.47.dist-info/METADATA +0 -25
  188. {django_smartbase_admin-0.2.47.dist-info → django_smartbase_admin-1.0.38.dist-info}/LICENSE.md +0 -0
@@ -9,6 +9,7 @@
9
9
  min-width: 100%;
10
10
  @apply h-full;
11
11
  > .djn-thead {
12
+ @apply bg-dark-50;
12
13
  th {
13
14
  @apply p-8 h-48;
14
15
  @apply transition-colors;
@@ -66,7 +67,7 @@
66
67
  &.field-image {
67
68
  @apply max-w-370;
68
69
  }
69
- .input:not(.choices__input) {
70
+ .input:not(.choices__input):not([type="search"]){
70
71
  @apply border-0 rounded-none shadow-none;
71
72
  }
72
73
  .btn:not(.input-file-edit-btn) {
@@ -78,6 +79,26 @@
78
79
  .input-file-wrapper > .input-file {
79
80
  @apply border-0;
80
81
  }
82
+ >.flex.gap-16 {
83
+ @apply h-full;
84
+ gap: 1px;
85
+ }
86
+ .time-wrapper {
87
+ @apply w-full;
88
+ &:before {
89
+ content: '';
90
+ @apply block absolute left-0 top-1/2 -translate-y-1/2;
91
+ width: 1px;
92
+ @apply h-40 bg-dark-200;
93
+ z-index: 1;
94
+ }
95
+ }
96
+ .js-datepicker,
97
+ .js-timepicker,
98
+ .js-datepicker-range,
99
+ .js-datetimepicker {
100
+ @apply h-full;
101
+ }
81
102
  }
82
103
  &:last-child {
83
104
  >tr:last-child {
@@ -103,8 +124,8 @@
103
124
  }
104
125
  }
105
126
  }
106
- >*:nth-last-child(2) {
107
- td,th {
127
+ thead:last-child {
128
+ th {
108
129
  &:first-child {
109
130
  @apply rounded-bl;
110
131
  }
@@ -148,10 +169,12 @@
148
169
  display: none;
149
170
  }
150
171
 
151
- fieldset.module > h2 {
152
- @apply flex items-center text-18 mb-24 font-semibold text-dark-900;
153
- &.stacked-inline-heading {
154
- @apply text-24 max-sm:px-24;
172
+ fieldset.module > header {
173
+ > h2 {
174
+ @apply text-18 font-semibold text-dark-900;
175
+ &.stacked-inline-heading {
176
+ @apply text-24 max-sm:px-24;
177
+ }
155
178
  }
156
179
  }
157
180
 
@@ -162,11 +185,29 @@ fieldset.module > h2 {
162
185
  border: 0;
163
186
  }
164
187
  > fieldset {
165
- >.stacked-inline-heading,
166
- >.djn-add-item {
167
- @apply px-24;
188
+ > header {
189
+ >.stacked-inline-heading,
190
+ >.djn-add-item {
191
+ @apply px-24;
192
+ }
168
193
  }
169
194
  }
170
195
  }
171
196
  }
172
197
 
198
+ .djn-remove-handler {
199
+ position: relative;
200
+ z-index: 1;
201
+ }
202
+
203
+ .js-collapse-stacked-inline svg {
204
+ transition: transform 0.3s ease-in-out;
205
+ }
206
+
207
+ .js-collapse-stacked-inline[aria-expanded="true"] svg {
208
+ transform: rotate(0deg);
209
+ }
210
+
211
+ .js-collapse-stacked-inline[aria-expanded="false"] svg {
212
+ transform: rotate(-90deg);
213
+ }
@@ -51,7 +51,7 @@
51
51
  vertical-align: bottom;
52
52
  overflow: hidden;
53
53
  @apply transition-colors;
54
- @apply bg-dark-50 text-dark-600;
54
+ @apply text-dark-600;
55
55
  }
56
56
 
57
57
  .tabulator .tabulator-header .tabulator-col .tabulator-col-content {
@@ -391,7 +391,7 @@
391
391
  .tabulator-row {
392
392
  position: relative;
393
393
  box-sizing: border-box;
394
- @apply bg-light min-h-40 border-b border-dark-200 cursor-pointer;
394
+ @apply bg-bg-elevated min-h-40 border-b border-dark-200 cursor-pointer;
395
395
  @apply transition-colors;
396
396
  }
397
397
 
@@ -800,3 +800,9 @@
800
800
  height: 1.5rem;
801
801
  }
802
802
  }
803
+
804
+ .tree-list-view {
805
+ .fancytree-ext-table td.fancytree-checkbox-column {
806
+ @apply pl-16 pr-4 w-40;
807
+ }
808
+ }
@@ -0,0 +1,162 @@
1
+ :root {
2
+ --fc-small-font-size: .75rem;
3
+ --fc-border-color: var(--color-dark-200);
4
+ --fc-today-bg-color: var(--color-primary-50);
5
+ --fc-neutral-bg-color: var(--color-bg);
6
+ --fc-page-bg-color: var(--color-bg-elevated);
7
+ }
8
+
9
+ .fc-theme-standard {
10
+ th.fc-col-header-cell {
11
+ @apply px-24 py-8;
12
+ @apply bg-bg;
13
+ }
14
+ td.fc-daygrid-day {
15
+ @apply p-8;
16
+ }
17
+ }
18
+
19
+ .fc {
20
+ table {
21
+ @apply text-12;
22
+ }
23
+ .fc-col-header-cell-cushion {
24
+ @apply p-0;
25
+ @apply text-14 font-medium;
26
+ }
27
+
28
+ .fc-daygrid-day {
29
+ height: 9rem;
30
+ }
31
+
32
+ .fc-day-other {
33
+ @apply bg-bg;
34
+ .fc-daygrid-day-top {
35
+ opacity: 1;
36
+ .fc-daygrid-day-number {
37
+ @apply text-dark;
38
+ }
39
+ }
40
+ .fc-daygrid-day-events {
41
+ opacity: 0.6;
42
+ }
43
+ }
44
+
45
+ .fc-daygrid-day-frame,
46
+ .fc-daygrid-day-events,
47
+ .fc-daygrid-event-harness,
48
+ .fc-daygrid-day-bottom {
49
+ &:before,
50
+ &:after {
51
+ @apply hidden;
52
+ }
53
+ }
54
+
55
+ .fc-daygrid-day-frame {
56
+ @apply flex flex-col gap-4;
57
+ }
58
+ .fc-daygrid-day-events {
59
+ @apply m-0 flex flex-col gap-4;
60
+ }
61
+ .fc-daygrid-day-top {
62
+ @apply flex-row;
63
+ }
64
+ .fc-daygrid-day-number {
65
+ @apply w-24 h-24 flex justify-center items-center leading-none font-semibold text-dark-900 p-4;
66
+ }
67
+ .fc-day-today {
68
+ .fc-daygrid-day-number {
69
+ @apply bg-primary rounded-full text-light;
70
+ }
71
+ &.fc-day-other {
72
+ .fc-daygrid-day-top {
73
+ .fc-daygrid-day-number {
74
+ @apply text-light;
75
+ }
76
+ }
77
+ }
78
+ }
79
+ .fc-daygrid-event {
80
+ @apply !m-0 flex gap-4;
81
+ }
82
+ .fc-daygrid-dot-event {
83
+ @apply px-8 py-0 border border-dark-200 rounded h-24;
84
+ .fc-event-time {
85
+ @apply hidden;
86
+ }
87
+ .fc-event-title {
88
+ @apply font-normal text-dark-900 text-ellipsis leading-16;
89
+ }
90
+ &.event-positive {
91
+ @apply border-success-200 bg-success-50;
92
+ .fc-daygrid-event-dot {
93
+ @apply border-success;
94
+ }
95
+ }
96
+ &.event-warning {
97
+ @apply border-warning-200 bg-warning-50;
98
+ .fc-daygrid-event-dot {
99
+ @apply border-warning;
100
+ }
101
+ }
102
+ &.event-negative {
103
+ @apply border-negative-200 bg-negative-50;
104
+ .fc-daygrid-event-dot {
105
+ @apply border-negative;
106
+ }
107
+ }
108
+ &.event-notice {
109
+ @apply border-notice-200 bg-notice-50;
110
+ .fc-daygrid-event-dot {
111
+ @apply border-notice;
112
+ }
113
+ }
114
+ }
115
+ .fc-daygrid-event-dot {
116
+ box-sizing: border-box;
117
+ @apply w-12 h-12 m-0 shrink-0;
118
+ @apply rounded-full border-2 border-current;
119
+ }
120
+
121
+ .fc-daygrid-day-bottom {
122
+ @apply text-12 !m-0;
123
+ }
124
+
125
+ .fc-daygrid-more-link {
126
+ @apply m-0 p-0;
127
+ &:hover {
128
+ background: none;
129
+ }
130
+ }
131
+
132
+ .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
133
+ min-height: 4rem;
134
+ @apply mb-0;
135
+ }
136
+
137
+ .fc-daygrid-day-bg {
138
+ @apply hidden;
139
+ }
140
+
141
+ .fc-popover {
142
+ z-index: 10;
143
+ .fc-popover-header {
144
+ @apply p-4;
145
+ }
146
+ .fc-popover-title {
147
+ @apply text-14;
148
+ }
149
+ .fc-popover-body {
150
+ @apply p-8 flex flex-col gap-4;
151
+ }
152
+ }
153
+
154
+ .fc-scrollgrid {
155
+ border-left-width: 0;
156
+ }
157
+ .fc-scrollgrid-section {
158
+ >th,>td {
159
+ border: 0;
160
+ }
161
+ }
162
+ }
@@ -4,7 +4,7 @@
4
4
  @apply h-40;
5
5
  @apply px-16;
6
6
  @apply rounded border border-dark-200;
7
- @apply text-dark-900 bg-light shadow-xs;
7
+ @apply text-dark-900 bg-bg-input shadow-xs;
8
8
  @apply text-14 leading-18 font-medium;
9
9
  transition-property: color, background-color, border, outline, box-shadow;
10
10
  transition-duration: .1s;
@@ -40,6 +40,12 @@
40
40
  @apply bg-light border-dark-100 shadow-none text-dark;
41
41
  cursor: not-allowed;
42
42
  }
43
+
44
+ .loader,
45
+ .loader:after {
46
+ width: 20px;
47
+ height: 20px;
48
+ }
43
49
  }
44
50
 
45
51
  .btn-primary {
@@ -195,4 +201,38 @@
195
201
  @apply max-sm:hidden;
196
202
  }
197
203
  }
204
+
205
+ .btn-group {
206
+ @apply flex;
207
+ > * {
208
+ &:first-child {
209
+ @apply rounded-r-none;
210
+ >.btn,
211
+ >.input {
212
+ @apply rounded-r-none;
213
+ }
214
+ }
215
+ &:last-child {
216
+ @apply rounded-l-none;
217
+ >.btn,
218
+ .input {
219
+ @apply rounded-l-none;
220
+ }
221
+ }
222
+ &:not(:first-child) {
223
+ margin-left: -1px;
224
+ }
225
+ &:not(:first-child):not(:last-child) {
226
+ @apply rounded-none;
227
+ >.btn,
228
+ >.input{
229
+ @apply rounded-none;
230
+ }
231
+ }
232
+ &:hover,
233
+ &:focus {
234
+ z-index: 1;
235
+ }
236
+ }
237
+ }
198
238
  }
@@ -11,6 +11,11 @@
11
11
  white-space: normal;
12
12
  > ul {
13
13
  @apply overflow-y-auto overflow-x-hidden custom-scrollbar;
14
+ >li:not(:last-child) {
15
+ .btn[data-bs-toggle="dropdown"] {
16
+ @apply rounded-b-none;
17
+ }
18
+ }
14
19
  }
15
20
 
16
21
  &:not(.show) {
@@ -30,10 +35,28 @@
30
35
  &.show {
31
36
  @apply flex;
32
37
  }
38
+
39
+ hr {
40
+ @apply my-4;
41
+ @apply border border-dark-200;
42
+ }
43
+
44
+ .btn[data-bs-toggle="dropdown"] {
45
+ @apply border-0 rounded-t-none;
46
+ @apply bg-transparent hover:bg-dark-100;
47
+ }
48
+
49
+ label.radio-dropdown-label {
50
+ @apply px-8 mb-4;
51
+ @apply text-12 font-normal;
52
+ span {
53
+ @apply hidden;
54
+ }
55
+ }
33
56
  }
34
57
 
35
58
  .dropdown-menu-link {
36
- display: flex;
59
+ @apply flex items-center;
37
60
  @apply py-12 px-16;
38
61
  @apply text-dark-700;
39
62
  white-space: nowrap;
@@ -50,21 +73,16 @@
50
73
  }
51
74
  }
52
75
 
53
- .dropdown-menu hr {
54
- @apply my-4;
55
- @apply border border-dark-200;
56
- }
57
-
58
76
  .btn[data-bs-toggle="dropdown"] {
59
77
  &:focus {
60
78
  @apply shadow-none;
61
79
  }
62
- svg:last-child {
80
+ svg:last-child:not(.no-rotate) {
63
81
  transition: transform .2s;
64
82
  }
65
83
  &.show {
66
84
  @apply bg-primary-50 text-primary border-primary;
67
- svg:last-child {
85
+ svg:last-child:not(.no-rotate) {
68
86
  @apply rotate-180;
69
87
  }
70
88
  }
@@ -5,7 +5,7 @@
5
5
  @apply text-14;
6
6
  @apply h-40;
7
7
  @apply p-10;
8
- @apply text-dark-900 bg-light border border-dark-300 rounded shadow-xs outline outline-transparent;
8
+ @apply text-dark-900 bg-bg-input border border-dark-300 rounded shadow-xs outline outline-transparent;
9
9
  transition: color .1s ease-in, background-color .1s ease-in, border-color .1s ease-in, box-shadow .1s ease-in, outline-color .1s ease-in;
10
10
 
11
11
  & ~ .error {
@@ -74,7 +74,7 @@
74
74
 
75
75
  .input-file {
76
76
  @apply relative flex items-center;
77
- @apply border border-dark-300 border-dashed rounded;
77
+ @apply border border-dark-300 border-dashed rounded bg-light;
78
78
  @apply p-16;
79
79
  @apply transition-colors;
80
80
  input[type="file"] {
@@ -84,6 +84,9 @@
84
84
  @apply bg-dark-100;
85
85
  @apply transition-colors;
86
86
  }
87
+ img[src^="/media"] {
88
+ @apply border;
89
+ }
87
90
  &:not(.filled) {
88
91
  &:hover {
89
92
  @apply border-primary bg-primary-50;
@@ -111,8 +114,10 @@
111
114
  }
112
115
  }
113
116
 
114
- .checkbox,
115
- .radio {
117
+ input.checkbox,
118
+ input.radio,
119
+ div.checkbox > input[type="checkbox"],
120
+ div.radio > input[type="radio"]{
116
121
  @apply absolute opacity-0 top-0;
117
122
  z-index: -1;
118
123
  & ~ label {
@@ -185,7 +190,8 @@
185
190
  }
186
191
  }
187
192
 
188
- .checkbox {
193
+ input.checkbox,
194
+ div.checkbox > input[type="checkbox"] {
189
195
  & ~ label {
190
196
  &::before {
191
197
  @apply rounded;
@@ -232,27 +238,60 @@
232
238
  }
233
239
  }
234
240
  }
235
- &-delete {
241
+ }
242
+
243
+ input.checkbox-delete {
244
+ + label {
245
+ @apply text-dark-300 transition-colors;
246
+ @apply p-8 h-full w-full flex-center;
247
+
248
+ &:before,
249
+ &:after {
250
+ @apply hidden;
251
+ }
252
+
253
+ &:hover {
254
+ @apply text-dark-400;
255
+ }
256
+ }
257
+
258
+ &:checked {
236
259
  + label {
237
- @apply text-dark-300 transition-colors;
238
- @apply p-8 h-full w-full flex-center;
239
- &:before,
240
- &:after {
241
- @apply hidden;
242
- }
243
- &:hover {
244
- @apply text-dark-400;
245
- }
260
+ @apply text-negative;
246
261
  }
247
- &:checked {
248
- + label {
249
- @apply text-negative;
262
+ }
263
+ }
264
+
265
+ input.radio,
266
+ div.radio > input[type="radio"] {
267
+ & ~ label {
268
+ &::before {
269
+ @apply rounded-full;
270
+ }
271
+
272
+ &::after {
273
+ @apply transition-opacity;
274
+ @apply w-8 h-8;
275
+ top: 6px;
276
+ left: 6px;
277
+ opacity: 0;
278
+ @apply bg-light rounded-full;
279
+ }
280
+ }
281
+
282
+ &:checked {
283
+ &:not(:disabled) {
284
+ &:hover + label {
285
+ &::after {
286
+ opacity: 1;
287
+ }
250
288
  }
251
289
  }
252
290
  }
253
291
  }
254
292
 
255
- .radio {
293
+ input.radio.radio-list,
294
+ div.radio.radio-list > input[type="radio"] {
256
295
  & + label {
257
296
  @apply px-16 py-12 flex items-center justify-between text-dark-900;
258
297
 
@@ -262,6 +301,9 @@
262
301
 
263
302
  &::after {
264
303
  @apply relative w-16 h-16 flex-shrink-0 ml-16 hidden;
304
+ top:0;
305
+ left:0;
306
+ border-radius: 0;
265
307
  background: url('data:image/svg+xml,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23009FA7" fill-rule="evenodd" clip-rule="evenodd" d="M8.43734 17.0892L20.7944 4.7912L22.2053 6.2088L9.14275 19.2088C8.75262 19.5971 8.12207 19.5971 7.73193 19.2088L1.79443 13.2997L3.20525 11.8821L8.43734 17.0892Z"/></svg>');
266
308
  }
267
309
  }
@@ -290,7 +332,7 @@
290
332
  margin: 0;
291
333
  }
292
334
 
293
- .checkbox.checkbox-icon {
335
+ input.checkbox.checkbox-icon {
294
336
  + label {
295
337
  @apply pl-0 text-dark-300 transition-colors;
296
338
  &:before,
@@ -74,7 +74,7 @@
74
74
  width: 100%; /* Ensure `.modal-content` extends the full width of the parent `.modal-dialog`*/
75
75
  /* counteract the pointer-events: none; in the .modal-dialog */
76
76
  pointer-events: auto;
77
- background-color: #ffffff;
77
+ background-color: var(--color-light);
78
78
  background-clip: padding-box;
79
79
  outline: 0;
80
80
  max-height: 100%;
@@ -1,5 +1,6 @@
1
1
  .query-builder {
2
- select:not(.select2-hidden-accessible), input:not(.checkbox):not(.choices__input) {
2
+ select:not(.select2-hidden-accessible),
3
+ input:not(.checkbox):not(.radio):not([type="checkbox"]):not([type="radio"]):not(.choices__input) {
3
4
  @apply !w-full input;
4
5
  }
5
6
 
@@ -7,6 +8,16 @@
7
8
  @apply !input;
8
9
  }
9
10
 
11
+ .radio.radio-default {
12
+ @apply bg-light border border-dark-200 transition-colors p-8;
13
+ &:hover {
14
+ @apply border-dark-400;
15
+ }
16
+ >label {
17
+ @apply !bg-transparent;
18
+ }
19
+ }
20
+
10
21
  .rules-group-container {
11
22
  @apply !p-0 !m-0;
12
23
  @apply !bg-transparent !border-dark-200 !rounded;
@@ -105,7 +116,7 @@
105
116
  /*@apply flex items-center gap-8;*/
106
117
  @apply grid gap-8;
107
118
  grid-template-columns: repeat(18, 1fr);
108
- grid-template-rows: repeat(2, 1fr);
119
+ /*grid-template-rows: repeat(2, 1fr);*/
109
120
  @apply !py-8 md:!py-16 !m-0;
110
121
  @apply !bg-dark-100 !border-dark-200 !rounded;
111
122
 
@@ -144,6 +155,10 @@
144
155
  &:empty {
145
156
  @apply input cursor-not-allowed border-none;
146
157
  }
158
+
159
+ >span {
160
+ @apply flex w-full bg-light h-44 p-10 rounded;
161
+ }
147
162
  }
148
163
 
149
164
  .rule-value-container {
@@ -261,6 +276,10 @@
261
276
  }
262
277
  }
263
278
 
279
+ input[type=number], input[type=text], select {
280
+ padding: 0.625rem !important;
281
+ }
282
+
264
283
  button[data-add] {
265
284
  @apply flex items-center gap-4 !px-12;
266
285
  @apply !text-14 font-semibold;
@@ -1,5 +1,6 @@
1
1
  @layer components {
2
- input[type="checkbox"].toggle {
2
+ input[type="checkbox"].toggle,
3
+ input[type="radio"].toggle {
3
4
  @apply absolute opacity-0 top-0;
4
5
  z-index: -1;
5
6
  & ~ label {
@@ -45,6 +46,16 @@
45
46
  }
46
47
  }
47
48
 
49
+ &[readonly],
50
+ &:disabled {
51
+ & + label {
52
+ opacity: 0.5;
53
+ }
54
+ & ~ label {
55
+ cursor: default;
56
+ }
57
+ }
58
+
48
59
 
49
60
 
50
61
  &:checked {